我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

php常用数据处理函数 php语法和常用的函数

用自己的语言说出php中数组的常用函数和用法?

array_filter : 过滤数组中的无效元素,可以使用回调函数过滤

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册虚拟主机、营销软件、网站建设、紫阳网站维护、网站推广。

array_map : 使用回调函数依次处理所有元素

implode: 将一维数组转为特定符号隔开的字符串,

explode:  将特定符号隔开的字符串转为一维数组

sort /ksort: 将数组进行升序排序

array_unique: 将数组元素去重

array_values:  取数组的值,重新组成新数组

array_pop: 取数组末尾元素并删除(队列)

array_push:将一个元素插入数组末尾(队列)

array_sum:统计数组元素的和

array_column:将二维数组中的指定KEY取出组成一个一维数组

网页链接

PHP 关联数组操作太麻烦,试试 WPJAM Basic 内置的数组处理函数

PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操作使用比较多,我就把这些函数整理成工具函数,然后整合到 WPJAM Basic 中,方便自己的二次开放时候使用,现在整理放出来,如果你和我一样基于 WPJAM Basic 进行二次开发,也可以使用:

PHP 从关联数组中移除指定的键值对,一般使用 unset 函数,比如:

如果要移除多个键值对,就要调用多次的 unset 函数,所以就合并成一个函数 :

这样就可以通过下面方式移除键值对了:

如果仅仅移除一个键值对,还可以直接传递字符串:

我们使用 array_filter 对数组进行过滤的时候,是不会递归调用的,意思如果其中元素也是数组的时候,是不会进行同样的过滤的操作。

输出结果为:

但是我们在一些数据处理的时候,比如后台字段提交的时候,我们希望过滤掉 null 的值,如果元素也是一个关联数组的时候,我们希望关联数组元素中的 null 的值也会过滤掉。所以我们就写了 wpjam_array_filter 这个函数,实现 array_filter 递归调用:

同样的数组:

输出结果为:

PHP 的 array_filter() 函数让我们可以通过回调函数来过滤数组,但是返回的是过滤后的数组,但是很多时候,我们只是简单的要求 返回过滤之后数组的第一个元素 :

使用非常简单的:

如果我们要合并的数组是多维的关联数组,那么使用 array_merge_recursive() 函数进行合并的话,不会进行键名覆盖,而是将多个相同键名的值递归合并成一个数组。

输出结果:

其实我们希望子数组里面的相同的值覆盖,据此我们写了一个函数,用来深度合并多维数组:

相同的数组进行合并:

得到的结果是:

一般不推荐使用 wpjam_array_merge 对多维索引数组进行合并。

要从关联数组中移除并返回指定的键值,一般需要两步操作,先取出,然后 unset 数组中的键值对:

如果每次都这么操作,有点烦人,所以就把这两个步骤合成一个函数,并且还可以设置数组中无此键对应的元素的时候的默认值。

然后直接调用即可:

PHP 关联数组可以通过三种方式插入新元素:

由此可见,关联数组插入元素是无法指定位置的,只能插在最前或者最后面,所以这个函数就是实现 向关联数组插入 元素时候指定的 Key 之前 :

比如下面在 $columns 的 'author' 之前插入 ['page_title'='页面标题'] :

PHP处理数组常用的几个函数

一、数组操作的基本函数

数组的键名和值

array_values($arr); 获得数组的值

array_keys($arr); 获得数组的键名

array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)

in_array("apple",$arr); 在数组中检索apple

array_search("apple",$arr); 在数组中检索apple ,如果存在返回键名

array_key_exists("apple",$arr); 检索给定的键名是否存在数组中

isset($arr[apple]): 检索给定的键名是否存在数组中

数组的内部指针

current($arr); 返回数组中的当前单元

pos($arr); 返回数组中的当前单元

key($arr); 返回数组中当前单元的键名

prev($arr); 将数组中的内部指针倒回一位

next($arr); 将数组中的内部指针向前移动一位

end($arr); 将数组中的内部指针指向最后一个单元

reset($arr; 将数组中的内部指针指向第一个单元

each($arr); 将返回数组当前元素的一个键名/值的构造数组,并使数组指针向前移动一位

list($key,$value)=each($arr); 获得数组当前元素的键名和值

数组和变量之间的转换

extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值

注:(第二个参数很重要,可以看手册使用)使用方法 echo $a;

compact(var1,var2,var3);用给定的变量名创建一个数组

二、数组的分段和填充

数组的分段

array_slice($arr,0,3); 可以将数组中的一段取出,此函数忽略键名

array_splice($arr,0,3,array("black","maroon")); 可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除

分割多个数组

array_chunk($arr,3,TRUE); 可以将一个数组分割成多个,TRUE为保留原数组的键名

数组的填充

array_pad($arr,5,'x'); 将一个数组填补到制定长度

三、数组与栈

array_push($arr,"apple","pear"); 将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数

array_pop($arr); 将数组栈的最后一个元素弹出(出栈)

四、数组与列队

array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)

array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素

五、回调函数

array_walk($arr,'function','words'); 使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)

array_mpa("function",$arr1,$arr2); 可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)

array_filter($arr,"function"); 使用回调函数过滤数组中的每个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,数组的键名保留不变

array_reduce($arr,"function","*"); 转化为单值函数(*为数组的第一个值)

六、数组的排序

通过元素值对数组排序

sort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序

rsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序

usort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)忽略键名的数组排序

asort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序

arsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序

uasort($arr,"function"); 使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序

通过键名对数组排序

ksort($arr); 按照键名正序排序

krsort($arr); 按照键名逆序排序

uksort($arr,"function"); 使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)

自然排序法排序

natsort($arr); 自然排序(忽略键名)

natcasesort($arr); 自然排序(忽略大小写,忽略键名)

七、数组的计算

数组元素的求和

array_sum($arr); 对数组内部的所有元素做求和运算

数组的合并

array_merge($arr1,$arr2); 合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)

“+”$arr1+$arr2; 对于相同的键名只保留后一个

array_merge_recursive($arr1,$arr2); 递归合并操作,如果数组中有相同的字符串键名,这些值将被合并到一个数组中去。如果一个值本身是一个数组,将按照相应的键名把它合并为另一个数组。当数组 具有相同的数组键名时,后一个值将不会覆盖原来的值,而是附加到后面

数组的差集

array_diff($arr1,$arr2); 返回差集结果数组

array_diff_assoc($arr1,$arr2,$arr3); 返回差集结果数组,键名也做比较

数组的交集

array_intersect($arr1,$arr2); 返回交集结果数组

array_intersect_assoc($arr1,$arr2); 返回交集结果数组,键名也做比较

八、其他的数组函数

range(0,12); 创建一个包含指定范围单元的数组

array_unique($arr); 移除数组中重复的值,新的数组中会保留原始的键名

array_reverse($arr,TRUE); 返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名

//srand((float)microtime()*10000000); 随机种子触发器

array_rand($arr,2); 从数组中随机取出一个或 多个元素

shuffle($arr); 将数组的顺序打乱

求课吧有很多关于PHP编程方面的教程

PHP常用函数有哪些

常用函数比较多

如:字符串处理函数,数组函数,日期函数,MySQL函数,文件系统函数,GD函数库等

php常用字符串处理函数实例分析

本文实例讲述了php常用字符串处理函数。分享给大家供大家参考。具体分析如下:

这里只提供几个简单常用的函数:

chop执行去除空格处理,get_html_translation_table返回转化列表到变量,定义包括HTML编码的字符串htmlentities,htmlspecialchars_decode

定义包含HTML特殊字符的字符串,nl2br

quotemeta

rtrim等.

定义和用法:chop()

函数从字符串的末端开始删除空白字符或其他预定义字符,该函数的

rtrim()

函数的别名.

语法:chop(string,charlist),代码如下:

复制代码

代码如下:$str="i'm

a

teacher

";

//定义字符串

$result=chop($str);

//执行去除空格处理

echo

$result;

//输出结果

定义和用法:get_html_translation_table()

函数返回被

htmlentities()

htmlspecialchars()

函数使用的翻译表.

语法:get_html_translation_table(function,quotestyle),代码如下:

复制代码

代码如下:

$trans=get_html_translation_table(html_entities);

//返回转化列表到变量

print_r($trans);

//输出转换表

$str="hallo

frau

krmer";

//定义字符串

$encoded=strtr($str,$trans);

//查找字符

echo

$encoded;

//输出结果

//

$str="a

'quote'

is

bbold/b";

//定义包括html编码的字符串

echo

htmlentities($str);

//输出经过处理的字符串

echo

htmlentities($str,

ent_quotes);

//加上可选参数后的输出结果

//

$str='pthis

-

"/p';

//定义包含html特殊字符的字符串

echo

htmlspecialchars_decode($str);

//输出转换后的内容

echo

"br";

echo

htmlspecialchars_decode($str,ent_noquotes);

//不对引号进行编码的输出结果

//

$str="cat

isn't

n

dog";

//定义包含换行符的字符串

$result=nl2br($str);

//执行转换操作

echo

$result;

//输出转换后的结果

//

$str="hello

world.(can

you

hear

me?)";

//定义包含元字符的字符串

$result=quotemeta($str);

//执行转换操作

echo

$result;

//输出转换后的结果

//

$str="hello

world

";

//定义末尾有空格的字符串

$result=rtrim($str);

//执行转换操作

echo

$result;

//输出转换后的结果

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


文章题目:php常用数据处理函数 php语法和常用的函数
分享链接:http://shouzuofang.com/article/hgpooc.html

其他资讯