php常用经典函数集锦【数组、字符串、栈、队列、排序等】


Posted in PHP onAugust 23, 2019

本文实例总结了php常用经典函数。分享给大家供大家参考,具体如下:

数组函数

数组操作

range(start,end)

创建一个数组,值从start开始,一直到end结束
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果range里面的参数是数字,那么他直接按照数字大小的顺序排序,如果里面的参数是一个字符,那么他将按照ascii编码的顺序排序。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_merge()

作用:将几个数组,然后生成一个新的数组。
如果合并数组的下标是数字,那么他会无视下标,直接生成一个新的数组,然后下标从0开始重新排序
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果合并数组的下标是字符串,那么他会保留原来的下标,合并后的数组,如果下标出现了冲突,那么后来的值会将原来的值替换。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_combine()

作用: 将两个数组合并,第一个数组里元素的值被当成新数组元素的下标,第二个数组里元素的值被当成新数组元素的值。
语法: array_combine($arr1,$arr2)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_combine去合并两个数组,两个数组元素的数量必须是一样的。

array_rand()

随机取出一个数组的下标
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_rand存在第二个参数,默认情况下是1,代表获取一个数组元素的下标,他的数据类型等同于下标的数据类型,但是如果一次性随机获取多个元素的下标,他返回的是一个数组。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
虽然他是随机获取数组元素的下标,但是获取后的结果一定是小的下标放在前面而大的下标放在后面。

shuffle()

作用: 打乱一个数组的排序。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
使用shuffle打乱一个数组,不需要重新复制,它会自动将原来的数组的元素顺序打乱。

is_array()

作用: 判断一个变量是否是数组数据类型。
语法: is_array(变量名),如果是数组,返回一个true,如果不是数组,返回一个false。

array_search()

作用: 根据一个数组元素的值,去寻找他相对于的下标
语法: array_search(value,$arr[,boolean]) ,返回的是元素值对应的下标
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_search去遍历数组查找下标,是从左往右进行寻找,当找到第一个符合要求的元素时,直接返回下标,函数结束。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_search去遍历数组,区分大小写
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_search默认情况下,是不区分数据类型的,如果想让其区分数据类型,将array_search的第三个参数修改为true即可。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

数组元素

array_keys()

作用: 获取数组中的所有下标,返回的结果还是一个数组
语法: array_keys($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_values()

作用: 获取数组中的所有值,返回的结果还是一个数组
语法: array_values($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

in_array()

作用 : 查找某一个数组元素的值是否存在。
语法 :in_array(value,$arr[,boolean])。返回的是一个布尔值,如果存在,返回的是一个true,如果不存在,返回的结果是false。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
默认情况下不区分数据类型,如果想区分,将第三个参数修改为true即可。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
in_array区分大小写
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_key_exists()

作用: 查找数组元素中是否存在某个下标
语法: array_key_exists($key,$arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
区分大小写
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_key_exists只有两个参数,他不区分数据类型
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

isset()

判断一个变量是否被定义。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
思考: isset()和array_key_exists()判断数组元素有什么区别?
答案: 如果一个数组元素的值为null的时候,isset()判断的结果是false而array_key_exists()判断的结果是true。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

implode()

作用 : 将一个数组拼接成一个字符串。
语法 : implode(string,$arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果省略了拼接符,那么,他默认按照空字符串进行拼接
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

explode()

作用: 将一个字符串拆分成一个数组。
语法: explode(string,$str[,num])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
explode如果有第三个参数,则代表将字符串拆分成几份,最后一份包含字符传后面的所有部分。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
explode第三个参数如果是一个负数,那么则代表将最后的几项丢弃
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

数组交并差

array_merge()

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

array_diff()

代码的差级,计算某个数组中其他数组没有的元素。
语法:array_diff($arr1,$arr2[,$arr3..$arrn])
计算的是第一个参数数组中其他数组没有的部分
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
获得元素中的下标是第一个参数数组元素的下标

array_intersect()

计算数组的交集
语法 :array_intersect($arr1,$arr2[,$arr3..$arrn]);
计算的是所有数组中共同拥有的部分,下标仍然是以第一个参数数组的下标为准。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

遍历数组函数

array_map()

语法: array_map(函数名,$arr)
作用: 分别去取出数组里面的每一个元素的值,然后去执行函数。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
除了调用php内置的函数以外,我们也可以去手写函数,然后通过我们自定义函数的函数名,也可以实现一个调用函数的功能
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
除了书写函数名的模式以外,我们也可以自己去书写一个匿名函数,效果是一样的。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
我们也可以一次性去传递多个数组,那么第一次会将每个数组第一个元素的值取出,第二次会将每个数组第二个元素的值取出,以此类推
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果array_map中调用的函数为空,那么他将依次取出数组中的元素,然后将其合并成一个新的数组,最终的结果是一个二维数组。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_walk()

作用 : 依次取出数组元素的下标和值。
语法 :array_walk($arr,'函数名')
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_map可以一次性传递多个数组,但是array_walk只能传递一个数组。

array_map在工作中比较常见,array_walk出现的可能比较小,因为array_walk的功能完全可以被foreach所取代。

栈和队列

栈:先进后出,后进先出
队列:先进先出,后进后出

array_push()

作用:往数组的最后插入元素
语法:array_push($arr,$value[,$value2..$valuen])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_push也可以一次性添加多个元素
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_pop()

作用:删除数组里最后一个元素
语法:array_pop($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
array_pop移除元素以后,返回的结果就是移除元素的值
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

array_shift()

作用 : 删除数组里面第一个元素
语法 : array_shift($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
移出完第一个元素,后面的元素也会顺势往前位移一位,返回的结果也是移除元素的值。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
思考 : array_shift()和直接使用unset()去删除数组里第一个元素,有什么区别?
答案 : unset()删除的是数组元素的值,但是保留下标,但是array_shift()是将元素的下标和值统一移出。

array_unshift()

作用:往数组的最前面插入元素
语法:array_unshift($arr,$value[,$value2..$value3])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

数组排序

sort()

作用 : 将数组元素的值按照从小到大的顺序排序。
语法 :sort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
使用sort去排序数组,数组的下标全部舍去,新生成的数组下标按照从0开始,依次递增

rsort()

作用 : 将一个数组从大到小进行排序。
语法 :rsort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

asort()

作用 : 将一个数组从小到大进行排序,但是会保留原来的下标。
语法 : asort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

arsort()

作用 : 将一个数组从大到小进行排序,但是也会保留下标。
语法 : arsort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

ksort()

作用 : 将一个数组的下标,从小到大进行排序
语法 : ksort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

krsort()
作用 : 将一个数组的下标,从大到小进行排序
语法 :krsort($arr)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

natsort()

:自然排序会将字符串当成是一个整体,然后进行从小到大的排序。
语法 : natsort()
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

usort()

作用 : 自定义一个排序。
语法 : usort($arr,fn($num1,$num2){})
如果return的是一个大于0的整数,那么,他将往后排序
如果return 的是一个小于0的整数,那么,他将往前排序
如果return的是一个等于0的整数,那么,他保持不变
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
有些时候,对于一些二维数组,我们用普通排序的方式难以实现,这个时候,我们可以去使用自定义排序。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

字符串

strpos()

作用 : 寻找某个字符首次出现的位置。
语法 :strpos($str,char[,num])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果出现多个符合要求的字符,他只招第一个符合要求字符的位置。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
strpos查找字符串是从左往右的顺序进行寻找,第三个参数代表从哪一个位置开始去寻找,区分大小写。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

strrpos()

作用 : 从右往左进行寻找,找到第一个符合要求的字符结束
语法 :strrpos($str,char[,num])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
第三个参数代表搜索结束的位置,如果找不到,返回一个false
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

strlen()

作用 : 获取字符串占用多少字节
语法 : strlen($str)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
中文下的符号也是占三个字节

trim()

作用 : 去除字符串左右两边的空格,第二个参数可选希望过滤的字符
语法 :trim($str),返回的结果就是去除空格的字符串。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

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

ltrim()

作用 : 去除字符串左边的空格,第二个参数去除左边的字符
语法 : ltrim($str)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

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

rtrim()

作用 : 去除字符串右边的空格,第二个参数去除右边的字符
语法 : rtrim($str)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

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

str_pad()

作用 : 给一个字符串填充一个具体的内容。
语法 : str_pad($str,length,char)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
str_pad存在第四个参数,他的值是一个常量。
STR_PAD_LEFT : 向左添加填充物
STR_PAD_RIGHT : 向右添加填充物(默认项)
STR_PAD_BOTH : 向两边添加填充物
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

str_repeat()

作用 : 将一个字符串重复多少次
语法 :str_repeat($str,num)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

chr()

作用 :将一个十进制数字转换为对应的ASCII编码

ord()

作用 : 将一个ascii编码转换为对应的数字
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

substr()

作用 : 截取字符串
语法 : substr($str,startNum[,截取的长度])
如果省略第三个参数,则直接截取到最后一位
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
参数的作用
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

strchr()

作用 : 从某个字符开始截取
语法 : strchr($str,char[,boolean])
第三个参数代表strchr截取字符是字符串右边部分还是左边部分,默认是false,代表右边部分,并且保留截取的字符,如果修改为true,则代表截取左边部分,不保留截取的字符。strstr就是strchr的另一个称呼。区分大小写。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

str_replace()

作用 : 替换字符串中的字节
语法 :str_replace(替换前字符,替换后的字符,$str)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果想一次性替换多个字节,将需要替换的字节放在一个数组中
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
如果想将多个字符全部替换成一个字符,前面用数组,后面不需要使用数组。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
替换的顺序是先替换第一个,第一个替换完毕以后,才会去继续替换第二个元素
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

str_split()

作用 : 将一个字符串拆分成数组。
语法 : str_split($arr,num)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
str_split()拆分字符串,是以限制字符长度去拆分字符串

explode()

作用: 将一个字符串拆分成一个数组。
语法: explode(string,$str[,num])
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
explode如果有第三个参数,则代表将字符串拆分成几份,最后一份包含字符传后面的所有部分。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
explode第三个参数如果是一个负数,那么则代表将最后的几项丢弃
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

strtolower()

作用 : 将字符串转换为全小写

strtoupper()

作用 : 将字符串转换为全大写
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

nl2br()

作用 : 将\n转换为<br>
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

htmlspecialchars()

作用 : 将特殊字符解析成普通字符
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

urlencode()

给编码加密

urldecode()

给编码解密

多字节字符串处理

在使用多字符处理函数之前,必须要先打开相应的配置,首先打开php.ini,然后搜索php_mbstring,将注释去除,重启apache即可

mb_strlen()

返回字符串一共拥有的字符数。
语法 : mb_strlen($str,编码格式)
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

mb_internal_encoding()

如果不加任何参数,直接输出,代表当前的编码格式。
如果加上参数,代表修改其字符集编码。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

mb_strpos()

获取某个字符出现的位置
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

mb_substr()

截取字符串
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

iconv()

作用 : 设置一个字符串的字符集编码
语法 : iconv(设置前的字符集编码,设置后的字符集编码,需要修改的字符串) 修改完的结果会生成一个新的字符串。
php常用经典函数集锦【数组、字符串、栈、队列、排序等】

时间函数

gmstrftime()

返回:根据区域设置格式化 GMT/UTC 时间/日期
语法: string gmstrftime ( string $format [, int $timestamp ] )和 strftime() 的行为相同,参见strftime()
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
参数$format请参考手册,查strftime()函数下面有介绍很长

strftime()

返回: 根据指定的 timestamp 或未给出 timestamp 是使用当前本地时间, 返回 format 格式化的字符。 月份、星期名和其他与语言相关的字符串遵守 setlocale() 设置的当前区域设置。
语法: string strftime ( string $format [, int $timestamp = time() ] )
参数$format请参考手册,查strftime()函数下面有介绍很长
timestamp:可选的 timestamp 参数是一个 integer 的 Unix 时间戳,如未指定,参数值默认为当前本地时间。也就是说,其值默认为 time() 的返回值。

strtotime()

将处理过的时间转为时间戳
例:输出昨天时间

echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<br>";

其他应用:

echo strtotime('2012-12-7'); //结果:1354838400

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
php中strtotime函数用法详解
Nov 15 PHP
PHP图像处理类库MagickWand用法实例分析
May 21 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
php压缩文件夹最新版
Jul 18 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
php输出反斜杠的实例方法
Sep 19 PHP
PHP实现页面静态化深入讲解
Mar 04 PHP
php中错误处理操作实例分析
Aug 23 #PHP
php+js实现的无刷新下载文件功能示例
Aug 23 #PHP
php简单检测404页面的方法示例
Aug 23 #PHP
PHP Redis扩展无法加载的问题解决方法
Aug 22 #PHP
PHP Primary script unknown 解决方法总结
Aug 22 #PHP
php用wangeditor3实现图片上传功能
Aug 22 #PHP
PHP生成zip压缩包的常用方法示例
Aug 22 #PHP
You might like
Sony CFR 320 修复改造
2020/03/14 无线电
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
MySQL的FIND_IN_SET函数使用方法分享
2012/03/27 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Python循环语句之break与continue的用法
2015/10/14 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
使用OpenCV实现仿射变换—平移功能
2019/08/29 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
英语生日邀请函
2014/01/23 职场文书
工艺员岗位职责
2014/02/11 职场文书
中秋晚会致辞
2015/07/31 职场文书