php5.5新数组函数array_column应用实例分享
来源:互联网 发布:热分析软件有哪些 编辑:程序博客网 时间:2024/06/03 17:49
最新的PHP5.5增加了一个新的数组函数array_column,挺好用的。
不过对于低版本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.4 不支持array_column
- array_column() 函数用法
- PHP array_column() 函数
- 关于array_column这个函数
- PHP5 新函数
- PHP5应用实例详解
- 函数指针数组应用实例
- 实现PHP5.5版本的array_column,并扩展取多列的功能
- PHP5.5中新增foreach() 循环支持标量迭代键-foreach+list和array_column用法
- array_column
- PHP5.5 新特征
- php5.5新特性
- php5.5新特性
- PHP5.5新特性
- php5.5新特性
- PHP5.5新特点
- 类的函数指针数组应用实例
- ObjectiveC 深浅拷贝学习
- java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils...
- 产品研发过程管理专题——软件测试是提高软件产品质量的必要条件
- Android中Alertdialog对话框点击消失?
- 由浅入深漫谈margin属性
- php5.5新数组函数array_column应用实例分享
- Linux 下 cmake的下载、安装和使用图文说明 (cmake-2.8.11.2.tar.gz)
- Yii - relations数据关联中的统计功能
- 网站架构演进
- android 4.0如何打开无线设置界面?
- Android开发中如何使用GridView
- Hibernate3.32学习笔记_02
- java中Scanner类中next()与nextLine()的区别
- php获取客户端mac地址的实例分享