1. 云栖社区>
  2. PHP教程>
  3. 正文

php5.5新数组函数array_column

作者:用户 来源:互联网 时间:2017-12-01 15:57:04

数组函数

php5.5新数组函数array_column - 摘要: 本文讲的是php5.5新数组函数array_column, PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的。但是低版本PHP要使用,得自己实现: 参考地址:https://wiki.php.net/rfc/array_column  

PHP5.5发布了,其中增加了一个新的数组函数array_column,感觉不错的。但是低版本PHP要使用,得自己实现:
参考地址:https://wiki.php.net/rfc/array_column

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 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;     } }   // 使用例子 $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 ) */

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数组 函数 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备