首页 >后端开发 >php教程 >php返回数组中指定的一列(php5.5.0默认函数array_column()在php<5.5.0的应用)

php返回数组中指定的一列(php5.5.0默认函数array_column()在php<5.5.0的应用)

WBOY
WBOY原创
2016-07-25 09:12:091348浏览
array_column() 返回数组中指定键名的列
(PHP 5 >= 5.5.0)
array_column — 返回数组中指定的一列
php参考手册:http://www.php.net/manual/zh/function.array-column.php

如果php版本小于5.5.0怎么办呢?我们自定义一个
以下代码摘自onethink
  1. /**
  2. * 返回数组中指定的一列
  3. * http://www.onethink.cn
  4. * /Application/Common/Common/function.php
  5. *
  6. * array_column — PHP 5 >= 5.5.0 默认函数
  7. * PHP 5 *
  8. * @access public
  9. * @param array $input 需要取出数组列的多维数组(或结果集)
  10. * @param string $columnKey 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。也可以是NULL,此时将返回整个数组(配合indexKey参数来重置数组键的时候,非常管用)
  11. * @param string $indexKey 作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
  12. * @return array
  13. */
  14. if (! function_exists('array_column'))
  15. {
  16. function array_column(array $input, $columnKey, $indexKey = null)
  17. {
  18. $result = array();
  19. if (null === $indexKey)
  20. {
  21. if (null === $columnKey)
  22. {
  23. $result = array_values($input);
  24. }
  25. else
  26. {
  27. foreach ($input as $row)
  28. {
  29. $result[] = $row[$columnKey];
  30. }
  31. }
  32. }
  33. else
  34. {
  35. if (null === $columnKey)
  36. {
  37. foreach ($input as $row)
  38. {
  39. $result[$row[$indexKey]] = $row;
  40. }
  41. }
  42. else
  43. {
  44. foreach ($input as $row)
  45. {
  46. $result[$row[$indexKey]] = $row[$columnKey];
  47. }
  48. }
  49. }
  50. return $result;
  51. }
  52. }
复制代码
  1. // Array representing a possible record set returned from a database
  2. $records = array(
  3. array(
  4. 'id' => 2135,
  5. 'first_name' => 'John',
  6. 'last_name' => 'Doe',
  7. ),
  8. array(
  9. 'id' => 3245,
  10. 'first_name' => 'Sally',
  11. 'last_name' => 'Smith',
  12. ),
  13. array(
  14. 'id' => 5342,
  15. 'first_name' => 'Jane',
  16. 'last_name' => 'Jones',
  17. ),
  18. array(
  19. 'id' => 5623,
  20. 'first_name' => 'Peter',
  21. 'last_name' => 'Doe',
  22. )
  23. );
  24. $first_names = array_column($records, 'first_name');
  25. print_r($first_names);
  26. ?>
复制代码
  1. Array
  2. (
  3. [0] => John
  4. [1] => Sally
  5. [2] => Jane
  6. [3] => Peter
  7. )
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn