同类型多维度数组相加

目标:

两个维度相同、类型相同的数组,求其相加合并后的数组。

实现:

效果:

https://test.lizhenguo.cn/recursive.php

二维数组根据某一列排序

【转自:http://www.jb51.net/article/28860.htm】

array_column:一个很方便将二维数组转换成一维数组的函数

作用

通常通过筛选条件从数据库中得到多条记录(二维数组),但只对其中一个字段感兴趣,希望得到一个仅包含该字段的一维数组。

实现

参数 描述
array 必需。规定要使用的多维数组(记录集)。
column_key 必需。需要返回值的列。

可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。

该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。

index_key 可选。用作返回数组的索引/键的列。

备注

返回值: 返回数组,此数组的值为输入数组中某个单一列的值。
PHP 版本: 5.5+

【摘自:】http://www.w3school.com.cn/php/func_array_column.asp

过滤掉数组中的空值

实现:

解释:

如果没有回调函数,那么默认就是删除数组中值为false的项目

【参考:http://www.jb51.net/article/48984.htm,

http://www.php.net/manual/zh/function.array-filter.php】

重置数组的数字索引

有时,我们希望将一数组的数字索引重新从0开始递增,可以通过 array_values() 方式实现,例如:

参考:http://zhidao.baidu.com/link?url=JxYFu10bq1jlZ-QH-SNWA3QYJSg6oIKUseyIc6-nwIHgBWuQgm5PG9eSoOt5lfTex1ZE3C2mrUn5W01sTiX6tq

二维或多维数组排序

涉及php函数:usort()

场景:

一个二维或多维数组,需要根据每个子数组的某项值来排序这个二维或多维数组

示例:

执行结果:(根据年龄排序:)

QQ20160526-0

(根据年龄、姓名字母排序:)

QQ20160526-1

注意:使用usort后,原数组索引键会被更换成数字索引。

深入理解PHP之数组

现象:

使用current( 数组)有时无法获取数组的当前值。

问题原因:

可能在current( 数组)之前有使用foreach( )遍历过该数组。

解释要点:

①current(数组 )是获取数组中当前指针所指内容,若超出数组界限,则返回false。

②使用foreach( )遍历数组后,指针会停留在最后,这时若使用current(数组),会返回false。

③使用reset(数组)可以重置指针。

④将使用foreach( )遍历过的数组赋值给另一个变量后,也会重置该数组的指针。 继续阅读“深入理解PHP之数组”