更新时间:2019-08-23 10:43:59 作者:
本文主要介绍了PHP中常用的经典函数,总结分析了PHP数组、字符串、堆栈、队列、排序等相关函数的作用和使用技巧,需要的朋友可以参考一下。
本文总结了PHP中常用的经典函数,分享给大家,供大家参考,如下:
数组函数 数组操作
范围(开始,结束)
创建一个数组,其值从start开始,到end结束
如果range中的参数是数字,则按照数字的顺序排序,如果range中的参数是字符,则按照ASCII编码的顺序排序。
()
功能:将多个数组合并,生成一个新的数组。
如果合并后的数组下标是数字,则会忽略下标,直接生成一个新数组,然后对下标从0开始重新排序
如果合并后的数组下标是字符串,那么会保留原有的下标,如果合并后的数组下标有冲突,那么后的值会替换原值。
()
功能:合并两个数组。将第一个数组中元素的值看作新数组元素的下标,将第二个数组中元素的值看作新数组元素的值。
语法: ($arr1,$arr2)
要合并两个数组,两个数组中的元素数量必须相同。
()
随机提取数组索引
还有第二个参数,默认是1,表示获取一个数组元素的下标,它的数据类型等于下标的数据类型,但是如果你一次随机获取多个元素的下标,则返回一个数组。
虽然它是随机获取数组元素的下标,但是获取之后的结果一定是下标较小的放在前面,下标较大的放在后面。
()
效果:打乱数组的顺序。
使用 可以打乱数组的顺序,不需要再次复制,它会自动打乱原数组中元素的顺序。
()
功能:判断变量是否为数组数据类型。
语法:(变量名),如果是数组,则返回true,如果不是数组,则返回false。
()
功能:根据数组元素的值找到其下标。
语法: (value,$arr[,]) ,返回元素值对应的下标
遍历数组查找索引,从左到右搜索,当找到第一个符合要求的元素时,直接返回索引,函数结束。
遍历数组,区分大小写
默认情况下它不区分数据类型,如果想让它区分数据类型,就把第三个参数改成true。
数组元素
()
功能:获取数组中所有下标,返回的结果还是一个数组
语法: ($arr)
()
功能:获取数组中所有的值,返回的结果还是一个数组
语法: ($arr)
()
功能:检查数组元素的值是否存在。
语法:(value, $arr[,])。返回布尔值。如果存在,则返回 true。如果不存在,则返回 false。
默认情况下不区分数据类型,如果要区分,将第三个参数改为true即可。
区分大小写
()
功能:查找数组元素中是否存在下标
语法:($key,$arr)
区分大小写
参数只有两个,不区分数据类型
设定()
确定变量是否已定义。
思考一下:判断数组元素时isset()和set()有什么区别?
答:如果数组元素的值为空,则isset()的结果为false,而()的结果为true。
()
功能:将数组连接成字符串。
语法:(,$arr)
如果省略连接字符,则默认连接为空字符串。
()
目的:将字符串拆分为数组。
语法:(,$str[,num])
如果有第三个参数,则表示将字符串拆分成几部分,最后一部分包含了该字符经过之后的所有部分。
如果第三个参数是负数,则表示将丢弃最后几项。
数组交集与差集
()
看上面的代码,就是把几个数组合并成一个新的数组
()
代码之间的区别在于计算一个数组中不存在于其他数组中的元素。
语法:($arr1,$arr2[,$arr3..$arrn])
计算的是第一个参数数组中不在其他数组中的部分
获取到的元素下标为第一个参数数组元素的下标
()
计算数组的交集
语法:($arr1,$arr2[,$arr3..$arrn]);
计算的是所有数组的公共部分,下标依然以第一个参数数组的下标为准。
遍历数组的函数
()
语法:(函数名称,$arr)
功能:取出数组中各个元素的值然后执行函数。
除了调用PHP内置函数外,我们还可以手写函数,然后使用我们自定义函数的函数名来实现函数调用
除了写函数名模式之外,我们也可以自己写一个匿名函数,效果是一样的。
我们还可以一次传递多个数组,那么第一次会取出每个数组第一个元素的值,第二次会取出每个数组第二个元素的值,以此类推。
如果调用的函数为空,则会把数组中的元素一个一个取出来然后合并成一个新的数组,最终的结果是一个二维数组。
()
功能:按顺序取出数组元素的下标和值。
语法:($arr,'函数名称')
可以一次传递多个数组,但每次只能传递一个数组。
在工作中比较常见,发生的可能性比较小,因为其功能完全可以被取代。
堆栈和队列
堆栈:先进后出,后进先出
队列:先进先出,后进后出
()
功能:向数组末尾插入一个元素
语法:($arr,$value[,$..$])
您还可以一次添加多个元素
()
目的:删除数组中的最后一个元素
语法: ($arr)
移除元素后,返回的结果为被移除元素的值
()
功能:删除数组中第一个元素
语法: ($arr)
移除首元素后,后面的元素也会前移一个位置,返回的结果也是被移除元素的值。
思考一下:使用unset()和直接使用unset()删除数组中第一个元素有什么区别?
答案:unset() 删除数组元素的值但保留下标,而 () 同时删除元素的下标和值。
()
功能:向数组最前面插入一个元素
语法:($arr,$value[,$..$])
对数组进行排序
种类()
功能:将数组元素的值按升序排序。
语法:sort($arr)
使用sort对数组进行排序,所有数组下标被丢弃,新生成的数组下标从0开始,依次增加。
rsort()
目的:对数组从大到小进行排序。
语法:rsort($arr)
排序()
效果:将一个数组从小到大排序,但是保留原来的下标。
语法:asort($arr)
()
目的:对数组从大到小排序,但同时保留下标。
语法: ($arr)
排序()
功能:将数组下标从小到大排序
语法:ksort($arr)
()
功能:将数组下标从大到小排序
语法: ($arr)
()
:自然排序是将字符串作为一个整体来对待,按照从小到大进行排序。
语法:()
usort()
功能:自定义排序。
语法:usort($arr,fn($num1,$num2){})
如果它是一个大于 0 的整数,那么它将按向后排序。
如果是小于0的整数,那么就按向前排序。
如果是等于 0 的整数,则它保持不变。
有时候,对于一些二维数组,用普通的排序很难实现,这时候我们就可以使用自定义排序。
字符串查找
()
目的:查找某个字符的第一次出现。
语法: ($str, char[, num])
如果有多个角色符合要求,他只会招募第一个符合要求的角色。
搜索字符串从左到右进行搜索。第三个参数表示开始搜索的位置,区分大小写。
()
功能:从右向左查找,当找到第一个符合要求的字符时结束
语法: ($str, char[, num])
第三个参数表示搜索结束的位置,如果没有找到则返回false
()
功能:获取字符串占用多少字节
语法: ($str)
汉字也占用三个字节
删除
修剪()
功能:去除字符串两边的空格。第二个参数可以是你想要过滤的字符。
语法:trim($str),返回的结果是删除空格后的字符串。
$a='hello world'; $b='hld'; $rel=trim($a,$b); echo $rel;//ello wor
ltrim()
功能:去除字符串左边的空格,第二个参数删除左边的字符
语法:ltrim($str)
$a="hello world"; $b="hed"; $rel=ltrim($a,$b); echo $rel;//llo world
rtrim()
功能:去除字符串右边的空格,第二个参数删除右边的字符
语法:rtrim($str)
$a="hello world"; $b="hed"; $rel=rtrim($a,$b); echo $rel;//hello worl
增加
()
功能:用特定内容填充字符串。
语法:($str,,char)
还有第四个参数,其值是一个常数。
:向左侧添加填充
:在右侧添加填充(默认)
:在两侧添加填充
()
功能:重复字符串多少次
语法:($str,num)
改变
chr()
功能:将一个十进制数转换成对应的ASCII码
订单()
功能:将一个ascii码转换为对应的数字
()
功能:拦截字符串
语法: ($str,[,截断长度])
如果省略第三个参数,则直接截取最后一位。
参数的作用
()
功能:从某个字符开始截取
语法: ($str,char[,])
第三个参数表示截取的字符是字符串的右边部分还是左边部分,默认值是false,表示保留右边部分和截取的字符,如果改成true,表示截取左边部分,不保留截取的字符,是它的别称,区分大小写。
()
目的:替换字符串中的字节
语法:(替换前字符,替换后字符,$str)
如果要一次替换多个字节,请将要替换的字节放在数组中
如果要用一个字符替换多个字符,前面要用数组,后面不需要用数组。
替换的顺序是先替换第一个,第一个替换完之后再继续替换第二个元素。
()
目的:将字符串拆分为数组。
语法: ($arr,num)
() 分割字符串,限制字符长度来分割字符串
()
目的:将字符串拆分为数组。
语法:(,$str[,num])
如果有第三个参数,则表示将字符串拆分成几部分,最后一部分包含了该字符经过之后的所有部分。
如果第三个参数是负数,则表示将丢弃最后几项。
()
目的:将字符串全部转换为小写
()
目的:将字符串转换为大写
nl2br()
功能:将 \n 转换为
()
功能:将特殊字符解析为普通字符
()
加密代码
()
解密代码
多字节字符串处理
使用多字符处理功能之前要先打开相应的配置,先打开php.ini,然后搜索,去掉注释,重启即可。
()
返回字符串中的字符总数。
语法:($str,编码格式)
()
如果不加参数则直接输出,代表当前的编码格式。
如果加参数的话,就是改变字符集编码。
()
获取字符出现的位置
()
拦截字符串
图标转换()
功能:设置字符串的字符集编码
语法:iconv(设置前的字符集编码,设置后的字符集编码,需要修改的字符串) 修改的结果会生成一个新的字符串。
时间函数
()
返回:根据区域设置格式化的 GMT/UTC 时间/日期
语法:( $ [, int $ ] ) 与 () 行为相同,参见 ()
有关参数 $ 请参阅手册,query() 函数下面有很长的介绍
()
返回:返回根据指定区域设置格式化的字符串,如果未指定则使用当前本地时间。月份、星期名称和其他语言相关字符串遵循 () 设置的当前区域设置。
语法:($[, int $ = time()])
有关参数 $ 请参阅手册,query() 函数下面有很长的介绍
:可选参数为Unix时间戳,若不指定,则参数值默认为当前本地时间,即默认为time()的返回值。
()
将处理后的时间转换为时间戳
示例:输出昨天的时间
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "
";
其他应用:
echo strtotime('2012-12-7'); //结果:1354838400
对更多PHP相关内容感兴趣的读者可以查看本站以下专题:《PHP常用函数及技巧汇总》、《PHP ()用法汇总》、《PHP数组操作技巧大全》、《PHP基本语法入门教程》、《PHP+MySQL数据库操作入门教程》和《PHP常用数据库操作技巧汇总》
希望本文能够对大家的PHP编程有所帮助。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。