本文主要和大家分享php系统函数的实例详解,希望能让大家对系统函数有一个更深入的理解。
数组相关的函数:
数组的键/值操作:
1.array_values($arr)
返回数组中所有的值并给其建立数字索引
2.array_keys($arr[, '值'[, true]])
返回数组中所有的键名
给'值'表示拿出该值的键
给'true'表示值用===判断
3.in_array('值', $arr[, true])
判断数组中是否有某个值
给true表示用===判断
4.array_key_exists('键', $arr)
判断数组中是否有某个键
5.array_flip($arr)
键值交换
6.array_reverse($arr[, true])
反转数组
给true表示保留原来的数字下标
统计与唯一性:
count($arr[, 1]) 统计数组元素的个数
给1表示递归统计数组个数(不常用)
array_count_values($arr) 统计数组中值出现的次数
注意:只能统计string或者int,否则报错
substr_count($str,',')统计字符串某字符出现的次数。
array_unique($arr) 去除数组中重复的元素,保留前面的值
使用回调函数过滤数组:
array_filter($arr, callback);
会将数组中的每个值都传给回调函数,在回调函数中返回true就保留该值,返回false就不保留
数组排序函数:
1.sort() 从小到大,不保留键 (升序) 2.rsort() 从大到小,不保留键(降序) 3.asort() 从小到大,保留键 (升序) 4.arsort() 从大到小,保留键(降序) 5.ksort() 按照键,从小到大(升序) 5.krsort() 按照键,从大到小(降序)
注意:在对混合类型值排序时可能会产生不可预知的结果
拆分、合并、交差集:
1.array_slice(切谁, 开始位置[, 切几个[, 是否保留键]])
切谁:要切的数组
开始位置:从0开始数,会保留开始位置的元素
[切几个]:没给的时候,默认切到最后
[是否保留键]:默认false,不保留;true保留原来的键
2.array_splice(&切谁, 开始位置[, 切几个[, 替代品]])
切谁:要切的数组,是引用传递
开始位置:从0开始数,会保留开始位置的元素
[切几个]:没给的时候,默认切到最后
[替代品]:将替代品插入到原来的数组中,不会保留键
3.array_combine(键数组, 值数组)
用键数组的值作为键,值数组的值作为值;
要求两个数组的长度必须一致,否则报错并返回false
4.array_merge($arr1[, $arr2, $...])
合并N个数组;
注意:同名的字符串的键,后面会覆盖前面的
扩充:加号也可以合并数组;同名的键会保留前面的值
5.array_intersect($arr1, $arr2[, $...])
返回N个数组中都有的值,下标保留前面
6.array_diff($arr1, $arr2[, $...])
返回$arr1中有,其他数组里面没有的元素,下标保持不变
数组与数据结构:
array_pop() 弹出数组中最后一个元素 array_shift() 弹出数组中第一个元素 array_push() 往数组最后追加1个或多个元素 array_unshift() 往数组最前面追加1个或多个元素
数据结构:用于存放数据的容器
队列:相当于管子,先进先出
栈:相当于杯子,后进先出
指针相关
current() 返回数组当前指针的值 next() 将数组的指针移到下一个,并返回其值 prev() 将数组的指针移到上一个,并返回其值 end() 将数组的指针移到最后,并返回最后一个值 reset() 将数组的指针重置
随机打乱数组
range() 生成指定范围的数组
shuffle() 随机打乱数组
字符串相关
字符串常用输出:
echo 输出一个或多个字符串
print 输出一个字符串
echo和print是一种语言结构,不是一个函数;
用于输出字符串等简单的数据
print_r 打印变量易于理解的信息
就是查看各种类型变量的值
var_dump 打印变量的相关信息
可以看到任意类型的值和类型
printf() 格式化输出字符串
%s 表示字符串
%b 表示二进制数
%o 表示八进制数
%d 表示十进制数
%x 表示十六进制数
%c 表示是个ascii码值
%% 表示一个单纯的%
sprintf() 同上,只是将结果返回,而不是输出
笔试题之echo和print_r的区别:
1.echo是一种语言结构,不是函数,所以效率略高;
2.echo可以同时输出多个字符串,而print_r不可以
3.echo只能输出简单的数据类型,而print_r可以打印复合类型的数据,比如数组、对象等
去除和填充:
ltrim($str[, '要去除的字符列表'])
默认去除左边的空格
rtrim($str[, '要去除的字符列表'])
默认去除右边的空格
trim($str[, '要去除的字符列表'])
默认去除两边的空格
str_pad($str, 长度,填充品)
用一个字符串将另一个字符串填充为指定长度
字符串大小写的转换:
strtolower() 转换为小写
strtoupper() 转换为大写
ucfirst() 首字母大写
ucwords() 单词的首字母大写(空格区分单词)
和HTML标签处理相关的函数:
htmlspecialchars()
将特殊字符转换为实体
htmlentities() 同上,基本不用
老版本里面会将中文一起转了
strip_tags()
去除html标签
nl2br
将\n换行转换为0c6dc11e160d3b678d68754cc175188a换行
字符串反转、长度与加密:
strrev()
将字符串颠倒显示
str_shuffle()
将字符串随机打乱
strlen()
统计字符串的长度,utf-8的中文占3个字节
md5()
将字符串进行加密,得到一个32位的加密后的字符串
number_format()
格式化一个数字
只能是1个、2个或者4个参数
字符串比较函数:cmp:compare的简写,比较的意思
strcmp()
比较两个字符串(区分大小写)
strncmp()
比较字符串开头的若干个字符(区分大小写)
strcasecmp()
比较两个字符串(不区分大小写)
strncasecmp()
比较字符串开头的若干个字符(不区分大小写)
字符串的切割与连接:
explode('切割符', $str)
使用一个字符串分割另一个字符串,返回一个数组
implode('连接符', $arr)
将一维数组用指定字符串连接,返回一个字符串
join()
implode的别名
字符串截取:
substr($str, 开始位置, 截多长);
开始位置从0开始数;为负数时表示倒着数!
字符串也有下标:
可以像数组一样通过下标取出字符串的值
但是,最好不要用来取中文
字符串的查找:
提示:用法统一都是($str, '要找的子字符串');
1.strstr($str, '要找的字符串');
返回从子字符串第一次出现的位置开始,到结尾的字符串;
还有个别名:strchr
2.strrchr 返回从子字符串最后一次出现的位置开始,到结尾的字符串
3.strpos($str, '要找的字符串')
返回子字符串第一次出现的索引位置,从0开始;
注意:1个汉字占3个字节
4.strrpos($str, '要找的字符串')
返回子字符串最后一次出现的索引位置
5.stripos()不区分大小写的strpos
字符串的替换
str_replace('找什么', '换成什么', '在哪儿换');
数学函数
ceil() 向上取整 floor() 向下取整 round() 四舍五入 max() 最大 min() 最小 mt_rand() 随机数
相关推荐:
以上是php系统函数的实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!