宝哥软件园

php中常用的经典函数集合[数组、字符串、堆栈、队列、排序等 ]

编辑:宝哥软件园 来源:互联网 时间:2021-08-20

本文总结了php中常用的经典函数。分享给大家参考,如下:

数组函数

数组操作

范围(开始、结束)

创建一个从头到尾都有值的数组

如果范围内的参数是数字,直接按照数字大小的顺序排序,如果范围内的参数是字符,按照ascii编码的顺序排序。

数组_合并()

函数:将几个数组,然后生成一个新的数组。如果合并数组的下标是数字,它将忽略下标并直接生成一个新数组,然后下标将从0开始重新排序

如果合并数组的下标是字符串,它将保留原来的下标,如果下标冲突,后面的值将替换原来的值。

数组_组合()

函数:组合两个数,第一个数组中元素的值作为新数组元素的下标,第二个数组中元素的值作为新数组元素的值。语法:array _ combine ($ arr1,$ arr 2)

Array_combine要组合两个数组,两个数组中的元素数量必须相同。

array_rand()

随机取出数组的下标

Array_rand有第二个参数,默认情况下为1,这意味着要获取数组元素的下标。它的数据类型等于下标数据类型,但是如果一次随机获得多个元素的下标,它将返回一个数组。

虽然他随机得到数组元素的下标,但结果一定是小下标放在前面,大下标放在后面。

洗牌()

功能:中断数组的排序。

Shuffle用于对数组进行置乱,不需要再次复制。它会自动打乱原始数组的元素。

is_array()

函数:确定变量是否属于数组数据类型。语法:is_array(变量名),如果是数组,返回true,如果不是数组,返回false。

array_search()

函数:根据数组元素的值,找到它的相对下标语法:array _ search (value,$ arr [,boolean]),返回元素值对应的下标

Array_search通过从左到右遍历数组来搜索下标。当找到第一个满足要求的元素时,直接返回下标,函数结束。

Array_search遍历数组,区分大小写

默认情况下,array_search不区分数据类型。如果希望它区分数据类型,请将array_search的第三个参数修改为true。

数组元素

array _ key()

函数:获取数组中的所有下标,返回的结果仍然是数组语法:array _ keys($ arr)

array_values()

函数:获取数组中的所有值,返回的结果仍然是数组语法:array _ values($ arr)

in_array()

函数:找出数组元素的值是否存在。语法:in_array(value,$arr[,boolean])。它返回一个布尔值。如果存在,则返回真值;如果它不存在,它将返回一个假值。

默认情况下,不区分数据类型。如果要区分,可以将第三个参数修改为true。

In_array区分大小写

array_key_exists()

函数:找出数组元素中是否有下标语法:array _ key _ exists ($ key,$ arr)

区分大小写

Array_key_exists只有两个参数,它不区分数据类型

isset()

确定是否定义了变量。

思考:isset()和array_key_exists()在判断数组元素上有什么区别?回答:如果数组元素的值为空,isset()的结果为假,array_key_exists()的结果为真。

内爆()

函数:将数组拆分成字符串。语法:隐式(字符串,$ arr)

如果省略了拼接器,默认情况下它将根据空字符串进行拼接

爆炸()

函数:将字符串拆分成数组。语法:explode(字符串,$ str [,num])

如果有第三个参数,explode表示将字符串拆分成几个部分,最后一部分包含字符传输后的所有部分。

如果爆炸的第三个参数是负数,这意味着最后一个项目将被丢弃

数组交并差

array_merge()

请参见上面的代码。就是将几个数组合并成一个新的数组

array_diff()

代码的差异级别,用于计算一个数组中在其他数组中找不到的元素。语法:array _ diff ($ arr1,$ arr2 [,$ arr3.$ arrn])计算第一个参数数组中在其他数组中找不到的部分

获得的元素中的下标是第一个参数数组元素的下标

array_intersect()

计算数组的交集语法:array _ intersect ($ arr1,$ arr2 [,$ arr3.$ arrn]);所计算的是所有数组的公共部分,下标仍然基于第一个参数数组的下标。

遍历数组函数

array_map()

语法:array_map(函数名,$arr)用于获取数组中每个元素的值,然后执行函数。

除了调用php的内置函数,我们还可以手工编写函数,然后通过自定义函数的函数名来实现调用函数的功能

除了写函数名的模式,我们还可以自己写一个匿名函数,效果是一样的。

我们也可以一次传递多个数组,然后第一次取出每个数组第一个元素的值,第二次取出每个数组第二个元素的值,以此类推

如果array_map中调用的函数为空,它会依次取出数组中的元素,然后合并成一个新的数组,最终得到的结果是一个二维数组。

array_walk()

函数:依次检索数组元素的下标和值。语法:array_walk($arr,“函数名”)

Array_map可以一次传递多个数组,但是array_walk只能传递一个数组。

Array_map在工作中比较常见,但是array_walk可能出现的比较少,因为array_walk的功能完全可以用foreach来代替。

栈和队列

堆栈:先进先出队列:先进先出队列

array_push()

函数:在数组末尾插入元素语法:array _ push ($ arr,$ value [,$ value2.$ valuen])

Array_push也可以一次添加多个元素

数组_pop()

函数:删除数组中的最后一个元素语法:array _ pop($ arr)

array_pop移除元素后,返回的结果是移除元素的值

array_shift()

函数:删除数组语法中的第一个元素:array _ shift($ arr)

移出第一个元素后,后面的元素也会向前移动一个位置,返回的结果也是被移除元素的值。

思考:array_shift()和unset()删除数组中的第一个元素有什么区别?答:unset()删除数组元素的值,但保留下标,但array_shift()统一删除元素的下标和值。

array_unshift()

函数:在数组前面插入元素语法:array _ unshift ($ arr,$ value [,$ value2.$ value 3])

数组排序

排序()

函数:将数组元素的值从小到大排序。语法:sort($ arr)

Sort用于对数组进行排序,数组的所有下标都被丢弃,新生成的数组下标从0开始依次递增

rsort()

函数:将数组从大到小排序。语法:rsort($ arr)

asort()

函数:将数组从小到大排序,但保留原始下标。语法:asort($ arr)

arsort()

函数:将数组从大到小排序,但也保留下标。语法:arsort($ arr)

ksort()

函数:将数组下标从小到大排序语法:ksort($ arr)

函数:将数组的下标从大到小排序语法:KRSORT($ arr)

natsort()

:自然排序把字符串作为一个整体,然后从小到大排序。语法:natsort()

usort()

功能:自定义排序。语法:usort($arr,fn($num1,$num2){})如果return是大于0的整数,将向后排序。如果return是小于0的整数,它将被向前排序。如果return是等于0的整数,它将保持不变

有时候,对于一些二维数组,我们很难用普通的方法进行排序。这时,我们可以使用自定义排序。

字符串

strpos()

功能:找到一个字符第一次出现的位置。语法:strpos ($ str,char [,num])

如果有多个符合要求的字符,他只调用第一个符合要求的字符的位置。

Strpos搜索字符串从左到右搜索,第三个参数表示从哪里开始搜索,区分大小写。

strrpos()

功能:从右向左搜索,找到符合要求的第一个字符结束语法:str pos($ str,char [,num])

第三个参数表示搜索结束的位置。如果找不到,它将返回false

strlen()

函数:获取一个字符串占用多少字节语法:strlen($ str)

中文符号也占用三个字节

装饰件()

功能:删除字符串左右两边的空格。第二个参数可以选择要过滤的字符的语法:trim($str),返回的结果是不带空格的字符串。

$ a=' hello world$ b=' hld$rel=trim($a,$ b);echo $ rel//ello worltrim()

函数:删除字符串左侧的空格,第二个参数删除左侧的字符语法:ltrim($ str)

$ a=' hello world$ b=' hed$rel=ltrim($a,$ b);echo $ rel//llo worldrtrim()

函数:删除字符串右侧的空格,第二个参数删除右字符的语法:rtrim($ str)

$ a=' hello world$ b=' hed$rel=rtrim($a,$ b);echo $ rel//hello worl

str_pad()

函数:用特定内容填充字符串。语法:str _ pad ($ str,长度,字符)

Str_pad有第四个参数,它的值是一个常量。向左侧添加填充物向右侧添加填充物(默认项目)向两侧添加填充物

str_repeat()

函数:重复一个字符串语法多少次:str _ repeat ($ str,num)

chr()

功能:将十进制数转换成相应的ASCII码

订单()

功能:将ascii码转换为相应的数字

substr()

函数:截取字符串语法:substr($str,startNum[,截取长度])如果省略第三个参数,将直接截取最后一个数字

参数的作用

strchr()

函数:截取某个字符的语法:strr的第三个参数($ str,char [,boolean])表示strr截取的字符是字符串的右半部分还是左半部分。默认值为false,表示右边部分,保留截取的字符。如果修改为true,表示截取左边部分,不保留截取的字符。Strstr是strrr的另一个名字。区分大小写。

str_replace()

函数:替换字符串中的字节语法:str_replace(替换前字符,替换后字符,$ str)

如果您想一次替换多个字节,请将要替换的字节放在一个数组中

如果要用一个字符替换所有字符,可以在前面使用数组,但不需要在后面使用数组。

更换的顺序是先更换第一个元件,然后在第一次更换完成后继续更换第二个元件

str_split()

函数:将字符串拆分成数组。语法:str _ split ($ arr,num)

Str_split()通过限制字符长度来拆分字符串

爆炸()

函数:将字符串拆分成数组。语法:explode(字符串,$ str [,num])

如果有第三个参数,explode表示将字符串拆分成几个部分,最后一部分包含字符传输后的所有部分。

如果爆炸的第三个参数是负数,这意味着最后一个项目将被丢弃

strtolower()

函数:将字符串全部转换为小写

strtoupper()

函数:将字符串转换为大写

nl2br()

角色:转换为br

htmlspecialchars()

功能:将特殊字符解析为普通字符

urlencode()

加密代码

urldecode()

解密代码

多字节字符串处理

在使用多字符处理功能之前,您必须首先打开相应的配置,首先打开php.ini,然后搜索php_mbstring,删除注释,然后重新启动apache

mb_strlen()

返回字符串拥有的字符总数。语法:mb_strlen($str,编码格式)

mb_internal_encoding()

如果没有添加参数,将直接输出,表示当前编码格式。如果添加参数,这意味着修改其字符集编码。

mb_strpos()

获取字符出现的位置

mb_substr()

截取字符串

iconv()

功能:设置一个字符串的字符集编码语法:iconv(设置前的字符集编码,设置后的字符集编码,需要修改的字符串)修改后会生成一个新的字符串。

时间函数

gmstrftime()

返回根据区域设置格式化的: GMT/UTC时间/日期语法:字符串gmstrftime(字符串$ format [,int $ timestamp])具有与strftime()相同的行为,请参见strftime()

参数$format请参考手册,查找strftime()函数,下面有很长的介绍

strftime()

返回:根据指定的时间戳,或者如果没有给出时间戳,则返回按格式格式化的字符。月、周名称和其他语言相关字符串符合setlocale()设置的当前区域设置。语法: string strftime(string $format[,int $ timestamp=time ()])参数$ format,请参考手册,查找strftime()函数,有一个很长的timestamp:可选的时间戳参数是整数Unix时间戳。如果未指定,参数值默认为当前本地时间。也就是说,它的值默认为time()的返回值。

strtotime()

将处理的时间转换为时间戳示例:并输出昨天的时间

Echo '昔: ',date ('y-m-d ',strtime ('-1day '),' br ';其他应用:

echo strtotime(' 2012-12-7 ');//结果:1354838400更多对PHP相关内容感兴趣的读者可以查看本网站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》、《php常见数据库操作技巧汇总》、0103010。

希望本文对PHP编程有所帮助。

更多资讯
游戏推荐
更多+