php5.5新数组函数array_column应用实例分享
2013-07-08 22:42
856 查看
最新的PHP5.5增加了一个新的数组函数array_column,挺好用的。
不过对于低版本PHP,就得自己实现了。
参考地址:https://wiki.php.net/rfc/array_column
具体代码如下:
array_column 用于获取二维数组中的元素(PHP 5 >= 5.5.0)
不过对于低版本PHP,就得自己实现了。
参考地址:https://wiki.php.net/rfc/array_column
具体代码如下:
if(!function_exists('array_column')){ function array_column($input, $columnKey, $indexKey=null){ $columnKeyIsNumber = (is_numeric($columnKey)) ? true : false; $indexKeyIsNull = (is_null($indexKey)) ? true : false; $indexKeyIsNumber = (is_numeric($indexKey)) ? true : false; $result = array(); foreach((array)$input as $key=>$row){ if($columnKeyIsNumber){ $tmp = array_slice($row, $columnKey, 1); $tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : null; }else{ $tmp = isset($row[$columnKey]) ? $row[$columnKey] : null; } if(!$indexKeyIsNull){ if($indexKeyIsNumber){ $key = array_slice($row, $indexKey, 1); $key = (is_array($key) && !empty($key)) ? current($key) : null; $key = is_null($key) ? 0 : $key; }else{ $key = isset($row[$indexKey]) ? $row[$indexKey] : 0; } } $result[$key] = $tmp; } return $result; } } //edit by www.jbxue.com // 使用例子 $records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe' ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith' ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones' ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe' ) ); $firstNames = array_column($records, 'first_name'); print_r($firstNames); /* Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter ) */ $records = array( array(1, 'John', 'Doe'), array(2, 'Sally', 'Smith'), array(3, 'Jane', 'Jones') ); $lastNames = array_column($records, 2); print_r($lastNames); /* Array ( [0] => Doe [1] => Smith [2] => Jones ) */ $mismatchedColumns = array( array( 'a' => 'foo', 'b' => 'bar', 'e' => 'baz' ), array( 'a' => 'qux', 'c' => 'quux', 'd' => 'corge' ), array( 'a' => 'grault', 'b' => 'garply', 'e' => 'waldo' ), ); $foo = array_column($mismatchedColumns, 'a', 'b'); print_r($foo); /* Array ( [bar] => foo [0] => qux [garply] => grault ) */
array_column 用于获取二维数组中的元素(PHP 5 >= 5.5.0)
<?php // Array representing a possible record set returned from a database // Edit by www.jbxue.com $records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ) ); $first_names = array_column($records, 'first_name'); print_r($first_names); ?> Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter )<?php // Using the $records array from Example #1 $last_names = array_column($records, 'last_name', 'id'); print_r($last_names); ?> Array ( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe )
相关文章推荐
- php5.5新数组函数array_column使用
- php5.5新数组函数array_column使用
- 自己写的兼容低于PHP 5.5版本的array_column()函数
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- PHP数组函数array_multisort()用法实例分析
- 自己写的兼容低于PHP 5.5版本的array_column()函数
- PHP 在数组中搜索给定的简单实例 array_search 函数
- array_column php 函数 自定义版本 php_version<5.5
- php数组函数分析--array_column
- PHP数组函数array_multisort()用法实例分析
- php数组函数array_rand()应用
- PHP 在数组中搜索给定的简单实例 array_search 函数
- php5.5新函数array_column
- PHP常用数组函数系列--array_column
- php数组查找函数in_array()、array_search()、array_key_exists()使用实例
- php数组函数序列之array_values() 获取数组元素值的函数与方法
- php数组随机抽取函数shuffle()和array_rand()
- PHP获取数组中某元素的位置及array_keys函数应用
- php 函数 array_slice() 从数组中取出一段