- abs() 绝对值
- ceil() 向上取整
- floor() 向下取整
- round() 四舍五入 第二个参数:保留小数点后面几位
- max() 求最大值
- min() 最小值
- mt_rand() 生成一个更好的随机数
- rand() 生成一个随机数
- pi() 圆周率 常量M_PI也是圆周率
- pow() pow(2,3) =>2的3次方
- sqrt() square root 求平方根
字符串函数
- chr() chr(65) => A 根据ASCII码返回指定字符
- ord() 给定字符返回对应ASCII码 48-57=>0-9; 65-90=>A-Z; 97-122 =>a-z
- chunk_split() 切割字符串
- explode()
- implode()
- ltrim()
- rtrim()
- trim()
- str_replace() 字符串替换 【QQ表情替换】
$str = 'a'; $search = ['a','b','c','d']; $replace = ['b','c','d','e']; $res = str_replace($search,$replace,$str); echo $res; ///输出 e 因为b把a替换了c又把b替换了,····最后输出e
//如果$search = ['a','b','f','d']; $replace = ['b','c','d','e']; 输出c - md5()
- nl2br() 将 转换成br标签
- str_shuffle() 随机打乱字符串
- substr()
- substr_count() 统计一个字符串在另一个字符串中出现的次数
- strstr() 返回一个字符串在另一个字符串从开始位置到结束的字符串,第三个参数为true时,返回字符串开始位置之前的字符串。
- strpos() 查找一个字符在字符串中首次出现的位置
- strrpos() 查找一个字符在字符串中最后出现的位置
- strrchr() 查找字符串中某个字符最后一次出现的位置到字符串末尾的字符串 $str = 'abc.def.ddd.php'; $suffix = strrchr($str,'.'); echo $suffix; //输出的是 .php //这个函数没有第三个参数
- strchr() 和strstr实现的效果一样,也可以传第三个参数,为true的话,同样返回字符串位置之前的字符串。(他和strstr的区别没查到,试验也没发现区别)
- count_chars()
- str_word_count()
- strspn()
- strcspn()
- substr 和 mb_substr : substr按字节截取,mb_substr按字符截取。看个示例:
$str = '说好的count统计对象是属性个数,为什么也是1?'; $str2 = mb_substr($str, 2, 5, 'unicode'); //Unicode以两个字节为一个字符进行截取(中英文一样) $str3 = mb_substr($str, 2, 5, 'utf-8'); //utf-8以三个字节为单位截取一个中文,以一个字节截取英文 $str4 = mb_substr($str, 2, 5, 'ascii'); //这个和substr一样结果,但是ASCII:一个中文字符站两个字节,为什么截取出来的和substr一样,不明白 $str5 = substr($str, 2, 5); echo $str2, '<br/>', $str3, '<br/>', $str4, '<br/>', $str5;
数组函数
- array_shift() 删除数组中第一个元素
- array_unshift() 在数组开头添加一个元素
- array_pop() 删除数组最后一个元素
- array_push() 在数组末尾插入元素
- in_array()
- list() 把索引数组赋值给一组变量
- range()
- array_slice() 从数组中取出一段
- array_slice 和 array_splice : array_slice不会改变原数组;而array_splice截取的那一段会在原数组中删除
时间函数
- mktime() 获取一个日期的时间戳
- microtime() 参数为false 返回时间戳和微秒数 true 返回时间戳+微秒数
- strtotime() 讲英文格式的时间转换成时间戳 -5day
时间函数
- microtime() 计算网页运行时间可以用到。不传递参数时,返回的是一个字符串, "msec sec" 的格式,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。msec和 sec都是以秒为单位。
string '0.80618400 1560321449' //这是字符串格式的,永远都是18位,msec:0.80618400 sec:1560321449。var_dump(microtime());
float 1560321449.8062 //浮点型格式,小数点后面的部分对应的就是msec部分。这种float形式的时间精度是可以设置的。通过 ini_set('precision', 14); 表示一共14位,小数点后保留4位。此函数不会影响microtime()的精度,只改变microtime(true)的精度。var_dump(microtime(true));
session写入memcache的时候,用到了一个函数 session_set_save_handler('open', 'close', 'read', 'write', 'destroy', 'gc');// 参数可以是函数,也可以使用类中的方法。