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正则校验用户名介绍
Jul 19 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
Symfony2之session与cookie用法小结
Mar 18 PHP
php错误日志简单配置方法
Jul 11 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 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
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
php判断目录存在的简单方法
2019/09/26 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
javascript 表单规则集合对象
2009/07/21 Javascript
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
jQuery.ajax实现根据不同的Content-Type做出不同的响应
2016/11/03 Javascript
Vue.js系列之项目搭建(1)
2017/01/03 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
javascript实现评分功能
2020/06/24 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python实现简单ftp客户端的方法
2015/06/28 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
介绍一下JNDI的基本概念
2013/07/26 面试题
2014年计生工作总结
2014/11/21 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
Golang 遍历二叉树
2022/04/19 Golang