取整函数
向上取整函数:ceil();
echo ceil(5/3);
输出 2
向下取整函数:floor();
echo floor(5/3);
输出 1
时间函数
获取UNIX时间戳 : int time() 返回的是秒数
date()函数
date(‘Y-m-d H:i:s’) 返回 : 2017-08-01 22:55:56
date(‘y-m-d h:i:s’) 返回 :17-08-01 10:58:51
date(‘Y-m-d H:i:s’,$time) 可以将 \$time时间戳格式化
strtotime() 可以将任何英文文本的时间或日期转换为时间戳
获取今日凌晨时间戳strtotime(date(‘Y-m-d’,time()))
echo strtotime('17-08-01 00:00:00');
输出1501516800
bool checkdate(month, day, year) 检查时间的合法性
var_dump(checkdate(2,30,2017));
输出bool(false)
文件函数
int file_put_contents(filename, data) 写入成功返回1
string file_get_contents(string filename ,[int offset [int maxlen]])
在filename中offset位置读取maxlen长度的字符串,读取失败返回false;
JOSN有关函数
- json_encode() 将PHP变量(resource类型除外)转换为json形式,失败返回false;
- json_decode()将json格式的字符串转换为PHP变量,当第二个参数为ture时,转换为数组(array),默认为对象(object)
- json_encode 是编译,json_decode是反编译。注意: json只能接收utf-8编码的字符,所以json_encode()参数必须是utf-8编码,否则会得到空字符串或NULL。
- ios程序不识别json数据中\u开头的数据,PHP生成json数据必须将汉字转义为UNICODE编码
json_encode( $data ,JSON_UNESCAPED_UNICODE);
扩展:
前后端分离开发中,后端要返回给前端的永远是json格式的数据
JSON书写格式参考
字符串和数组转换函数
字符串切割成数组
$array = explode( separator \$string)
当一个字符串转换为数组时,需要指定分隔符(separator)切割
数组粘合成字符串
$string = implode( glue \$array)
当一个数组转换为字符串时,需要指定胶合剂(glue)粘合
字符串函数
基础
- 双引号 中的内容可以被解析,单引号只当作普通字符处理;
- 进行SQL 查询前,所有的字符串都必须加单引号,以避免可以的注入漏洞和SQL错误。
连接符
PHP中字符串连接符是 ‘.’
去特殊字符
- trim()函数,用于去除字符串首尾空格和特殊字符,
- ltrim() 去除左边的空格和特殊字符
- rtrim() 去除右边的空格和特殊字符
转义字符
反斜线 ‘\’ 对字符串进行转义
获取字符串长度
int strlen( string str )
string length
截取字符串长度
string substr( string str , int start , [int length])
- 函数中的start参数是从0开始计算的,所以字符串中第一个字符的位置为0 ,为负数时表示从倒数第 start 个字符开始向后截取
- length为负数是,表示从start截取到倒数第length个字符
- 空格也算一个字符
- 汉字不同的编码,占用的字节不同,在截取中文时,要注意文字编码格式
- start 和 length 只能有一个为负数
echo substr('abcdefg',-4,2); //输出:de
echo substr('abcdefg',1,-1); //输出:bcdef
比较字符串(compare)
按字节比较: strcmp() 、 strcasecmp()
自然排序比较 : strnatcmp()
指定源字符串的位置比较: strncmp()
注意!在计算机序列中:2>10 、a>A
1.strcmp() 和 strcasecmp()
- 两者区别在于:前者区别大下写,后者不区分大小写
格式:int strcmp ( string str1 string str2)
返回值:str1 = str2 返回 0 ;str1 > str2 返回 1 ;str1 < str2 返回 -1
2.strnatcmp()
- 格式:int strnatcmp(string str1 ,string str2 )
- 该函数是按照自然排序法进行比较,不同于计算机序列排序。
- 比较的是字符串中的数据部分
- 区分大小写,不区分的是strnatcasecmp()
3.strncmp()
- 格式 : int strncmp( string str1 ,string str2 , int len)
- len是指定比较字符的数量
- = 返回0;> 返回1 ;< 返回-1
检索字符串
1.strstr() 查找指定关键字 ( 检查后缀名等 )
- 格式:string strstr(string str,string needle)
- 在 str 中,查找 needle 首次出现的位置,截取从该位置到末尾的字符串返回,失败返回false
- 函数区分大小写
- needle 匹配以 ASCII值 为基础
echo strstr('aaaa@qq.com','@'); //返回qq.com
2.substr_count() 子字符串出现的次数
- int substr_count( string str , string needle)
- 一般用于搜索引擎中,返回子串出现的次数
替换字符串
mixed str_ireplace( mixed search , mixed replace ,mixed subject [,int count])
- search 是查找的字符串
- replace 是要替换成的字符串
- subject 是查找的对象
- count 是替换的次数
- 不区分大小写
- 常用于搜索引擎模糊查询时中字体描红