php的get_object_vars函数】的更多相关文章

我在看ecshop源码的时候,发现了一个非常有趣的函数,在此记下:get_object_vars() 从字面我们可以猜到,这个函数是针对类的一个方法:语法:array  get_object_vars(object $obj ) 它的作用就是返回类中所有的非静态方法: <?phpclass object1 {    private $a = NULL;    public  $b = 123;     public  $c = 'public';      private $d = 'priva…
关于php中想让对象以数组的形式访问,这时候就需要使用到get_object_vars()函数了.先来介绍一下这个函数. 官方文档是这样解释的: 1 array get_object_vars ( object $obj ) 返回由 obj 指定的对象中定义的属性组成的关联数组. 举例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <?php class Point2D {   var $x, $y;…
Serializable[自定义序列化的接口] : 实现此接口的类将不再支持 __sleep() 和 __wakeup(). 作用: 为一些高级的序列化场景提供支持.__sleep()和__wakeup()有一些问题,这些问题再SPL中都得到解决.[书上说的,具体的问题之看到了“总结”中的第一个] 总结:(根据看到的例子总结,绝对地不全) 1.魔术方法不能序列化基类的私有变量,SPL可以. 2.SPL可通过子类serialized父类. 3.SPL可以serialize全部的子类变量,子类不需要…
搞了几天php处理xml文件,终于有点头绪,记录下来分享一下.simplexml 是php处理xml文件的一个方法,另一个是dom处理,这里只说simplexml.目前php处理xml用的比较多,比较成熟的还是dom.但dom在速度和代码量上还是比较受人诟病的. simplexml的有些函数需要比较高版本的php,建议是php5.2以上. 一,新建xml 方法1(普通新建文件): $fp=fopen('111.xml','w'); $xmlContent='<?xml version="1…
1. 控制器将模型类获得的数据,传递给视图进行显示,所以视图必须负责接收数据,另外重要的一点是当模型和视图分开后,多个模型的数据可以传递给一个视图进行展示,也可以说一个模型的数据在多个不同的视图中进行展示.所以CodeIgniter 框架视图的接口有两个重要参数, public function view($view, $vars = array(), $return = FALSE) $view 即使加载哪一个视图,$vars 即是传入的数据, $return 即表示是直接输出还是返回(返回可…
simplexml 是php 处理xml 文件的一个方法,另一个是dom 处理,这里只说simplexml .目前php 处理xml 用的比较多,比较成熟的还是dom .但dom 在速度和代码量上还是比较受人诟病的. simplexml 的有些函数需要比较高版本的php ,建议是php5.2 以上. 一,新建xml 方法1 (普通新建文件): <?php /** * @author blog.anchen8.net * @copyright 2016 */ $fp=fopen('xmldoc.x…
OOP的好处 封装 封装可以隐藏实现细节,使代码模块化,代码重用 继承 继承可以扩展已存在的代码模块(class),代码重用 多态 为了类在继承和派生的时候,保证实例的某一属性正确调用,接口重用 关键的OOP概念 类 实体的性质和行为的具体定义称为类(class) 类用于表示要在应用程序中处理的实际事务 每个实体都包含一组性质和行为,在OOP中分别称为属性(property)和方法(method) <?php //创建类 class xiu { private name; private age…
 测试模板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试</title> </head> <body> <!-- 下面所有代码都放在body里面测试 --> <!-- 该模板放于D:\Apache24\htdocs文件夹下 --> <!-- 并…
SimpleXML使用详解 介绍 SimpleXML提供了一种简单,直观的方法来处理XML.它只有一个单一类型的类,三个函数和六个方法. 使用SimpleXML SimpleXMLElement 类是这个扩展中所有操作的核心类.可以用new关键字直接创建这种类,或是使用simplexml_load_file()或 simplexml_load_string()函数返回这种类.本文将使用清单7-1的XML文档来说明如何使用SimpleXML,将此文档命名为 sml.xml. 清单7-1 sml.x…
虽说现在很多的服务提供商都会提供 JSON 接口供我们使用,但是,还是有不少的服务依然必须使用 XML 作为接口格式,这就需要我们来对 XML 格式的数据进行解析转换.而 PHP 中并没有像 json_encode() . json_decode() 这样的函数能够让我们方便地进行转换,所以在操作 XML 数据时,大家往往都需要自己写代码来实现. 今天,我们介绍的是使用 SPL 扩展库中的一些对象方法来处理 XML 数据格式的转换.首先,我们定义一个类,就相当于封装一个操作 XML 数据转换的类…
2018 PHP面试题 题目来自<PHP程序员面试笔试宝典>,里面涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. 1.PHP常考基础 1.PHP与ASP.JSP有什么区别? ASP全名Active Server Pages,是一个基于Windows平台的Web服务器端的开发环境,利用它可以产生和运行动态的.交互的.高性能的Web服务应用程序,它只能在微软平台上使用,移植性不好.ASP采用脚本语言VB Script.JScript(JavaScript…
转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcslashes 以 C 语言风格使用反斜线转义字符串中的字符 addslashes 使用反斜线引用字符串 apache_child_terminate 在本次请求结束后终止 apache 子进程 apache_getenv 获取 Apache subprocess_env 变量 apache_get_mo…
1. interface_exists.class_exists.method_exists和property_exists: 顾名思义,从以上几个函数的命名便可以猜出几分他们的功能.我想这也是我随着对PHP的深入学习而越来越喜欢这门编程语言的原因了吧.下面先给出他们的原型声明和简短说明,更多的还是直接看例子代码吧.bool interface_exists (string $interface_name [, bool $autoload = true ]) 判断接口是否存在,第二个参数表示在…
<?php //$number = range(0,50,10); //print_r ($number); //生成一个自增的数组 header("Content-type:text/html;charset=utf-8"); /* * * 类/对象 * __autoload — 尝试加载未定义的类 call_user_method_array — 调用一个用户方法,同时传递参数数组(已废弃) call_user_method — 对特定对象调用用户方法(已废弃) class_…
php常用函数汇总   字符串截取:           1.substr('要截取的字符串','从第几个字符开始','到第几个字符结束');             * 截取英文或者数字         2.$cut = explode('要截取字符串中的某个字符','要截取的字符串');             // 将字符串以某个字符截取成数组             substr($cut[0],'从第几个字符开始','到第几个字符结束');             --        …
public static function objectToArray($d) { if (is_object($d)) { $d = get_object_vars($d); } if (is_array($d)) {  //数组中的每个值都通过当前函数处理(如果是多维数组相当于递归),这里都是原样返回(return $d) return array_map(array(__CLASS__, __FUNCTION__), $d); } else { return $d; } } array_…
2014年7月4日 10:27:59 有些系统函数可以在调试程序时救急用: get_class_methods(); get_class_vars(); get_object_vars(); get_included_files();…
PHP函数库(other) Session函数: session_abort — Discard session array changes and finish session session_abort() finishes session without saving data. Thus the original values in session data are kept. 返回值:没有你返回值. session_cache_expire — 返回当前缓存的到期时间 session_…
[数组排序]sort()低到高,rsort()高到低.保持键值对应关系使用 asort()和arsort().对键排序ksort()和krsort().随机排序 shuffle(). [数组key相关]array_keys() 返回数组中所有的键名array_values() 返回数组中所有的值,key从0开始.array_key_exist() 判断一个数组中是否包含指定的键名 [数组value相关]array_push($arr,'newValue'); 在数组结尾插入一个或多个元素arra…
在写php代码的时候,发现调用接口返回的结果类型是对象,不是自己想要的数组,于是乎,写了一个将对象转化数组的函数: /** * 将对象转化为数组 */ private function objectToArray($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; $arr =array(); foreach ($_arr as $key => $val) { $val = (is_array($val) || is_o…
1.string serialize ( mixed $value )— 产生一个可存储的值的表示 serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方. 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构 想要将已序列化的字符串变回 PHP 的值,可使用 unserialize() @ 序列化数组 serialize($arr); 在设置cookie的时候可以通过序列化数组的形式传递多个值,然后在接收页面进行反序列化读取 @ 序列化对象 cla…
一.PHP系统函数 函数 功能 用法 var_dump() 打印变量结构信息,包括类型和值.数组将递归展开值 var_dump ( $arg1...); echo():是语法结构 输出一个或者多个字符串,可不用(),用单引号或者双引号括起来.变量直接输出, echo $arg1,$arg2...; isset() 检测变量是否设置并且值不为null时返回ture,反之false isset($args) empty() 检测变量是否为空 empty($args) exit()  输出一条信息同时…
每次要用PHP的某个功能的时候,都要去查一下,于是决定将PHP所有类和函数都整理出来,加上注释 大致实现 将php.jar文件解压,取出目录stubs 将stubs中的所有php文件中的注释去掉,并做格式化处理,放在目录output 将所有文件中类和函数解析出来 从http://php.net/manual/zh/中将类和函数注释解析出来 格式化输出类和函数及所有注释 github地址:https://github.com/chentaihan/phpNote a 0 acos 反余弦 1 ac…
array_change_key_case — 返回字符串键名全为小写或大写的数组 array_chunk — 将一个数组分割成多个 array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values — 统计数组中所有的值出现的次数 array_diff_assoc — 带索引检查计算数组的差集 array_diff_key — 使用键名比较计算数组的差集 array_diff_uassoc — 用用户提供的回调函数做索引检查来…
与类有关的系统函数: class_exists(“类名”), 判断一个类是否存在(是否定义过) interface_exists(“接口名”), 判断一个接口是否存在(是否定义过) get_class( $obj ), 获得某个对象$obj 的所属类 get_parent_class($obj ), 获得某个对象$obj 的所属类的父类 get_class_methods(), 获得一个类的所有方法名,结果是一个数组,里面存储的是这些方法的名称 get_class_vars(), 获得一个类的所…
array_change_key_case — 返回字符串键名全为小写或大写的数组array_chunk — 将一个数组分割成多个array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值array_count_values — 统计数组中所有的值出现的次数array_diff_assoc — 带索引检查计算数组的差集array_diff_key — 使用键名比较计算数组的差集array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差…
参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "malloc.h" /** *** 连接字符串和字符 **/ char* strcatch(char *str, char ch) { char *p = str; while (*p!='\0') { p++; } *p = ch; *(p+) = '\0'…
数组函数: array_change_key_case — 返回字符串键名全为小写或大写的数组 array_chunk — 将一个数组分割成多个 array_column — 返回数组中指定的一列 array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values — 统计数组中所有的值出现的次数 array_diff_assoc — 带索引检查计算数组的差集 array_diff_key — 使用键名比较计算数组的差集 arra…
PHP类/对象函数是PHP核心的一部分,无需要安装就可以使用. 函数名称 描述 __autoload 尝试加载未定义的类 class_alias 为一个类创建别名 class_exists 检查类是否已定义 get_called_class 后期静态绑定("Late Static Binding")类的名称 get_class_methods 返回由类的方法名组成的数组 get_class_vars 返回由类的默认属性组成的数组 get_class 返回对象的类名 get_declar…
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) Return True if any element of the iterable is true. If the iterable is empty, return False 如果序列中任何一个元素为True,那么any返回True.该函数可以让我们少些一个for循环.有两点需要注意 (1)如…