/************************************************************************
PHP魔术方法
*************************************************************************/
1、__construct() 构造函数:实例化对象时被调用,当__construct和以类名为函数名的构造函数同时存在时,__construct将被调用,另一个不被调用。
2、__destruct() 析构函数:当删除一个对象或对象操作终止时被调用(程序结束后对象就摧毁)。 永远都是最后执行的。
3、__call() 对象调用某个方法,若方法存在,则直接调用; 若不存在,则会去调用__call函数。
4、__get() 读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。
5、__set() 设置一个对象的属性时,若属性存在,则直接赋值; 若不存在,则会调用__set函数。
6、__toString() 打印一个对象的时被调用。如echo $obj;或print $obj;
7、__clone() 克隆对象时被调用。如:$t=new Test();$t1=clone $t;
8、__sleep() serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
9、__wakeup() unserialize时被调用,做些对象的初始化工作。
10、__isset() 检测一个对象的属性是否存在时被调用。如:isset($c->name)。
11、__unset() unset一个对象的属性时被调用。如:unset($c->name)。
12、__set_state()调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。
13、__autoload() 实例化一个对象时,如果对应的类不存在,则该方法被调用。
/************************************************************************
字符串函数
*************************************************************************/
1.strlen: 获取字符串长度,字节长度
2.substr_count:某字符串出现的次数
3.substr: 字符串截取,获取字符串(按照字节进行截取)
4.mb_strlenmb_substr
strchr:与substr相似,从指定位置截取一直到最后
5.strrchr (获取文件后缀名):与strchr一样,只是从右边开始查找字符
6.strtolower: 所有的字符都小写(针对英文字母)
7.strtoupper: 所有的字符都大写
8.strrev: 字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转
9.strpos: 从字符串中找对应字符出现的位置(数字下标),从最左边开始找
10.strrpos: 与strpos一样,只是从字符串的右边开始找
11.trim: 去掉函数两边的字符,默认是空格
12.str_split: 函数把字符串分割到数组中。
13.chunk_split(): 函数把字符串分割为一连串更小的部分
14.str_repeat("Shanghai",5):把字符串 "Shanghai " 重复 5 次
15.str_replace('\\', '/', dirname(__DIR__))):替换
16.ucfirst: 首字母大写
/************************************************************************
时间函数
*************************************************************************/
1.time:得到当前时间的时间戳(整型:从格林威治时间1970年1月1日0时0分0秒开始)秒数
2.date:时间序列化函数,将指定的时间戳转换成规定时间日期的显示格式(随意的字符串:有专业的格式符规定),
如果没有指定时间戳,系统默认使用当前时间的时间戳
3.strtotime:时间日期格式的字符串转换成对应的时间戳(只要是正确的英语时间表达方式,都可以进行转换)
4.microtime:微秒时间戳,根据不同的要求返回不同的结果 混合
5.microtime (布尔类型 ),可以返回一个浮点数的时间,也可以返回一个数组(时间戳和微秒数)
/************************************************************************
数值操作函数
*************************************************************************/
1.abs: 绝对值
2.floor: 向下取整 floor(3.2) 结果等于3
3.ceil: 向上取整
round:四舍五入
4.rand: 取得一个指定范围内的随机整数
5.mt_rand:取得一个指定范围内的随机整数(效率更高)
6.min:PHP:会将非数值的 string 当成 0,但如果这个正是最小的数值则仍然会返回一个字符串。
如果多个参数都求值为 0 且是最小值,min() 会返回按字母表顺序最小的字符串,
如果其中没有字符串的话,则返回数值的 0;
max:PHP 会将非数值的字符串当成 0,但如果这个正是最大的数值则仍然会返回一个字符串。如果多个参数都求值为 0 且是最大值,max() 会返回其中数值的 0,如果参数中没有数值的 0,则返回按字母表顺序最大的字符串。对于多个数组,max从左到右比较;如果同时出现数组和非数组参数总把数组作为最大值返回;
/************************************************************************
数组函数
*************************************************************************/
1.count() :非数组返回1
2.key: 获取当前数组当前指针所指向的元素的下标
3.current: 获取的当前指针指向元素的数值
4.next: 获取下一个元素的值,并且将指针下移
5.prev: 获取上一个元素的值,并且将指针上移
6.end : 将指针移到数组的最后一个元素,并返回最终指针位置的值
7.reset: 将指针移到数组的第一个元素,返回最终指针位置的值
8.array_keys: 获取一个数组的所有键名,返回一个索引数组
9.array_values:获取一个数组的所有值,返回一个索引数组
10.explode:爆炸,将一个字符串按照某个指定的规则(通常是特殊字符),
将数组分成多个段,每一段都当做一个数组的元素,返回一个索引数组
11.split 类似 explode explode('.', 'abc.txt')等于split('\.','abc.txt')
12.implode:粘合,将一个数组内部的所有元素按照某个指定的规则(特殊字符),将所有的元素拼接成一个字符串
13.join(): 把数组元素组合为一个字符串
14.array_merge:合并,指的是将两个数组中的元素进行累计。如果后面的数组与前面的数组有下标(键名:关联)相同的
那么后面的元素的值会覆盖前面的;如果是索引的相同下标,会自动的修改下标叠加到前面的数组里。
15.array_reverse:返回反转后的数组
16.array_flip:交换数组中的键和值