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自动更新新闻DIY
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
php设计模式之命令模式使用示例
Mar 02 PHP
php加速器eAccelerator的配置参数、API详解
May 05 PHP
PHP实现的简单缓存类
Jul 29 PHP
PHP内核探索之变量
Dec 22 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
Apr 09 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
自己前几天写的无限分类类
2007/02/14 PHP
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
jQuery 动态粒子效果示例代码
2020/07/07 jQuery
python client使用http post 到server端的代码
2013/02/10 Python
Python对象体系深入分析
2014/10/28 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
Python3监控疫情的完整代码
2020/02/20 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
推荐值得学习的12款python-web开发框架
2020/08/10 Python
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
解除聘用合同证明书范本
2014/09/11 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
2016年社区党支部公开承诺书
2016/03/25 职场文书
python基础之错误和异常处理
2021/10/24 Python
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS