当前位置:Gxlcms >
PHP教程 >
php返回数组中指定的一列(php5.5.0默认函数array_column()在php<5.5.0的应用)
php返回数组中指定的一列(php5.5.0默认函数array_column()在php<5.5.0的应用)
时间:2021-07-01 10:21:17
帮助过:18人阅读
array_column() 返回数组中指定键名的列 (PHP 5 >= 5.5.0) array_column — 返回数组中指定的一列 php参考手册:http://www.php.com/manual/zh/function.array-column.php
如果php版本小于5.5.0怎么办呢?我们自定义一个 以下代码摘自onethink
- /**
- * 返回数组中指定的一列
- * http://www.onethink.cn
- * /Application/Common/Common/function.php
- *
- * array_column — PHP 5 >= 5.5.0 默认函数
- * PHP 5 < 5.5.0 则使用自定义函数
- *
- * @access public
- * @param array $input 需要取出数组列的多维数组(或结果集)
- * @param string $columnKey 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。也可以是NULL,此时将返回整个数组(配合indexKey参数来重置数组键的时候,非常管用)
- * @param string $indexKey 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
- * @return array
- */
- if (! function_exists('array_column'))
- {
- function array_column(array $input, $columnKey, $indexKey = null)
- {
- $result = array();
- if (null === $indexKey)
- {
- if (null === $columnKey)
- {
- $result = array_values($input);
- }
- else
- {
- foreach ($input as $row)
- {
- $result[] = $row[$columnKey];
- }
- }
- }
- else
- {
- if (null === $columnKey)
- {
- foreach ($input as $row)
- {
- $result[$row[$indexKey]] = $row;
- }
- }
- else
- {
- foreach ($input as $row)
- {
- $result[$row[$indexKey]] = $row[$columnKey];
- }
- }
- }
- return $result;
- }
- }
- // Array representing a possible record set returned from a database
- $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
- )
|