原始数据类型(9种)
基本数据类型: 整形(integer)、浮点型(float)、字符串(string)、布尔型(boolean)
复合数据类型:数组(array)、对象(object)、callable(可调用)
特殊数据类型:资源类型(resource) 和 NULL
变量相关处理函数
is_bool($var)
判断是否为布尔型
is_int($var)
判断是否为整型
is_float($var)
判断是否为浮点型
is_numeric($var)
判断是否为数值或数值字符串
is_string($var)
判断是否为字符串
is_array($var)
判断是否为数组
is_object($var)
判断是否为对象
is_resource($var)
判断是否为资源类型
is_null($var)
判断是否为NULL
gettype($var)
获取变量的类型
empty($var)
判断是否为空
isset($var)
判断是否存在
unset($var)
删除变量
intval($var)
强制转换为整型
floatval($var)
强制转换为浮点型
boolval($var)
强制转换为布尔型
strval($var)
强制转换为字符串
(int)$var
强转为整型
(bool)$var
强转为布尔值
(float)$var
强转为浮点型
(string)$var
强转为字符串
(array)$var
强转为数组
(object)$var
强转为对象
(unset)$var
强转为NULL
print_r($var)
打印数组
var_dump($var)
打印变量详细信息
var_export($var)
返回格式化的php代码(不执行),例如var_export($arr)
serialize($var)
变量序列化为字符串
unserialize($var)
反序列化
字符串相关处理函数
addslashes()
对字符串内的单双引号,反斜杠,NULL前面加\
进行转义
htmlspecialchars()
可转义< > ' " &
,默认未开启转义单引号
strip_tags()
去除字符串中的html和php标签
md5()
将字符串进行md5加密
sha1()
返回SHA-1散列,默认生成40字符十六进制数
uniqid(前缀,如果是true则为23字符)
根据系统微妙数生成唯一id,但是并不是很保险,推荐用下面的
md5(uniqid(mt_rand(), true))
nl2br()
将字符串中的\n
转换为<br>
trim()
移除两边空白符,可以使用第二个参数指定移除某个字符串
ltrim()
移除左边空白符,可以使用第二个参数指定移除某个字符串
rtrim()
移除右边空白符,可以使用第二个参数指定移除某个字符串
chr()
根据ASCII码返回对应字符
ord()
根据字符返回对应ASCII码
count_chars($str,1)
统计字符串中每个字符的出现的次数,返回数组
strlen()
返回字符串的长度
str_word_count()
统计字符串中的单词数量
substr_count('hello 666 hello', 'hello')
统计字符串中子串的数量
echo
是一个语法结构
print
是一个语法结构
str_split('abcdefg')
将字符串每个字符拆分为索引数组,第二个参数可以指定每个的长度array([0] => 'a', [1]=>'b' ...)
explode(',', $str)
将字符串根据指定字符拆分为数组
implode(',', $arr)
将数组用指定字符连接接为字符串,同join
strtolower()
字符串转为全小写
strtoupper()
字符串转为全大写
ucfirst()
首字母大写
lcfirst()
首字母小写
ucwords()
每个单词首字母大写
strchr('hello world hello world', 'world')
截取字符串第一次出现world到字符串结尾的部分,等同于strstr
stristr()
匹配时不区分大小写
strrchr()
匹配最后一次到结尾
substr($str, start, length)
字符串截取
strpos('hello world', 'world')
返回world在字符串中第一次出现的位置
strrpos()
匹配最后一次出现的位置
stripos()
匹配时不区分大小写
str_replace('word', 'world', 'hello word')
字符串替换
str_ireplace()
不区分大小写替换
str_repeat('我6', 3)
字符串重复
str_shuffle()
随机打乱字符串中的字符
strrev()
字符串反转
数组相关处理函数
array_keys()
返回所有键名
array_values()
返回所有的值
array_column($arr, 'name')
返回数组中某一列的值,第三个参数为指定某一列作为键名
array_rand($arr, 1)
随机返回数组中一个或多个键名
合并与拆分
array_merge()
将多个数组合并为一个数组,如果是索引数组则第二个追加到第一个前面,如果是关联数组则相同键名的后面覆盖前面
array_replace()
和array_merge区别:处理索引数组时也会合并而不是追加,处理关联数组基本一样
array_replace_recursive($a1,$a2)
递归用后面数组的值替换前面数组的值
array_chunk($arr, 2)
将数组分割为指定数目的子数组
统计
array_count_values()
统计数组中每个值出现的次数
比较
array_diff($arr1,$arr2,$arr3)
返回多个数组的差集,只比较键值
array_diff_key($arr1,$arr2,$arr3)
返回多个数组的差集,只比较键名
array_diff_assoc($arr1,$arr2,$arr3)
返回多个数组的差集,比较键名和键值
**`array_intersect()返回多个数组的交集,只比较键值
array_intersect_key($arr1,$arr2,$arr3)
返回多个数组的交集,只比较键名
array_intersect_assoc($arr1,$arr2,$arr3)
返回多个数组的交集,比较键名和键值
操作:
array_flip()
数组键值对调
array_reverse()
数组数据顺序颠倒
array_pop()
删除数组最后一个元素
array_shift()
删除数组的第一个元素
array_unshift($arr,"blue","yellow")
向数组开头新增一个或多个元素
array_push($arr,"blue","yellow")
数组末尾追加一个或多个值,返回数组长度
array_slice($arr, start, length)
数组截取
array_sum()
数组数据求和
array_unique()
数组去重
shuffle()
打乱数组
count()
数组长度
list()
将数组中的值依次赋值给变量
range('a','z')
生成指定范围的数组
是否存在:
array_key_exists("name",$arr)
检查某个键名是否存在
in_array('fsm', $arr)
检查某个值是否存在,第三个参数如果为true,则同时校验类型
搜索:
array_search("red",$arr)
根据值返回键名
key($arr)
获取数组当前的键名
current($arr)
获取数组当前的值
排序:
按照值:
sort()
升序
rsort()
降序
asort()
索引数组升序
arsort()
索引数组降序
按照键:
ksort()
按键升序
krsort()
按键降序
日期时间相关处理函数
设置时区
php.ini date.timezone = PRC
date_default_timezone_set("PRC");
// Asia/Shanghai
ini_set('date.timezone', 'Asia/Shanghai');
time()
返回当前时间戳
date('Y-m-d H:i:s')
格式化本地的时间或者日期,(y-n-j不带前导零 w星期几 z一年中第几天 t月总天数 L是否闰年 a:am或pm)
getdate()
根据时间戳返回日期时间信息数组
strtotime()
将英文时间字符串解析为时间戳(2018-11-27 11:05:23, now, +1 week 2 days 4 hours 2 seconds, next Thursday, last Monday)
mktime(hour, minute, second, month, day, year)
取得一个日期的时间戳
microtime()
返回当前时间戳和微秒数0.50091600 1543288331
gettimeofday(true)
取得当前时间戳和和前三位或四位微秒1543289052.4254
checkdate(month, day, year)
验证日期合法性(月日年为必填)
目录和文件相关处理函数
getcwd()
返回当前文件所在目录的绝对路径
scandir()
数组形式返回目录中的所有子目录和子文件
basename()
返回路径中的文件名部分
dirname()
返回路径中的目录部分
pathinfo()
数组形式返回文件的信息
mkdir()
创建目录
copy(a, b)
复制文件
rename(oldname, newname)
重命名文件或文件夹
unlink()
删除文件
rmdir()
删除空目录
move_uploaded_file(file,newloc)
将上传的文件移动到新位置
file_exists()
检查文件或目录是否存在
file_get_contents()
将文件读入一个字符串
file_put_contents(filename, data)
将字符串写入一个文件
filesize()
返回文件的大小
filetype()
返回文件的类型
is_file()
判断是否为普通文件
is_link()
判断是否为链接文件
URL相关处理函数
urlencode()
url编码
urldecode()
url解码
base64_encode()
base64编码
base64_decode()
base64反编码
http_build_query($arr)
将数组编码成url参数字符串
parse_str("name=Bill&age=60", $arr)
将url参数字符串解析保存为数组
parse_url('http://php.net/manual/en/function.parse-url.php?name=12234456&time=baga')
将url地址信息解析为数组,数组中的query可以作为parse_str的参数
数学相关处理函数
abs()
绝对值
ceil()
向上取整
floor()
向下取整
fmod()
返回除法浮点数余数
max()
最大值
min()
最小值
pi()
圆周率
pow(x,y)
x的y次方
sqrt()
平方根
round()
四舍五入
rand(low, high)
返回随机整数
is_nan()
判断是否为 非数值
魔术常量(预定义常量)
__FILE__
返回文件的完整路径和文件名(绝对路径),如果用在被包含的文件中,则返回被包含的文件名
__DIR__
返回文件所在目录,等价于dirname(__FILE__)
__NAMESPACE__
返回当前命名空间
__CLASS__
返回当前类名
__METHOD__
返回当前方法名
__FUNCTION__
返回当前函数名
魔术方法
__construct()
实例化类时自动调用。
__destruct()
类对象使用结束时自动调用。
__set()
在给未定义的属性赋值的时候调用。
__get()
调用未定义的属性时候调用。
__isset()
使用isset()或empty()函数时候会调用。
__unset()
使用unset()时候会调用。
__clone()
当使用clone复制一个对象时候调用。
超全局变量(预定义变量)
$_SERVER
服务器和执行环境信息
$_GET
get方式传递的数据
$_POST
post方式传递的数据
$_FILES
http文件上传信息
$_COOKIE
http cookies
$_SESSION
session变量
$_REQUEST
默认包含get post cookies
$GLOBALS
全局变量
其他函数
function_exists()
检查函数是否存在
class_exists()
检查类是否存在
method_exists(obj, method_name)
检查方法是否存在
header()
发送HTTP报头(Location:)
define()
定义一个常量
defined()
检查一个常量是否存在
die() exit()
输出消息并退出脚本
sleep()
程序延迟执行若干秒
usleep()
程序延迟执行若干微秒
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。