php数组提供非常丰富的函数方法,如果能熟练使用,对于复杂数据结构的解析或处理将事半功倍。有些应用依赖数据库查询取得数据集合,但对数据集合的再处理,如果再多次查询数据库,对数据库压力很大,性能也不好,这样如果我们对返回的数组结构进行处理得到返回结果,是一种优化的方法。还有对前端的数据返回,如果我们对数组结构处理的比较好的数据,那么返回给前端,也会简化前端的编程。所以数据特别是数组的处理应用是非常广泛和有价值的。有很多我们可能忽略或仍然在自己手动写的方法,这里总结如下:
- array_column
从数组集合中取出1 列
例如:$game_ids_arr=array_column($game_list, 'game_id');
- array_filter
过滤数组中的元素,去除空元素
例如:$game_ids_arr=array_filter($game_ids_arr);
- array_shift:array_shift(array)
取得数组第一个元素,注意可能有时取得的数组的下标不是从0开始的,如果从0开始取,可能会得到空null,如果使用这个方法,将会准确的提取出第一个元素。
例如:$result=array_shift($data_arr);
- array_pop:array_pop(array)
与上面array_shift方法对应,这个是取得数组最后一个元素,注意可能有时取得的数组的下标不是从数组总个数结束的,如果从总个数开始取,可能会得到空null,如果使用这个方法,将会准确的提取出最后一个元素。
例如:$result=array_pop($data_arr);
- array_push:array_push(array,value1,value2...)
向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。注意,这里是将新参数元素构成数组后再推入生成新的数组,下标是从0开始。新生成的数组是(下标,数组值),应该根据下标得到它包含的数组值来迭代循环的。
例如:$result=array_push($data_arr,'k','v');
- array_slice:array_slice(array,start,length,preserve)
数组中根据条件取出一段值,并返回。其中preserve取值为 true - 保留键名,false - 默认,重置键名(用下标替换)。这里要注意preserve参数的使用。这个使用场景,比如我们要从数组中取得指定片段的数组,或者删除指定片段的数组,都是很有用的。
- array_chunk:array_chunk(array,size,preserve_keys)
一个数组分割为新的数组块。这个也是比较有用的函数,可以将一个数组按指定个数分组。这个使用场景,比如我们将一个多记录的数组列表,按2个(或任意指定数量)为一排显示,这是在web应用中非常常见的表单列表显示,如果我们返回2个一排的数组结构,则有利于前端的分组排列。
本文持续改进完善,....