PHP函数从数组中获取所需的值

时间:2016-01-25 18:34:47

标签: php arrays

function transformArray($array, $key)
{
  $transformed = [];
  foreach ($array as $k => $value) {
   $transformed[] = $value[$key]
 }
 return $transformed;
}

$array = [
0 => [
'key' => 1,
'key2' => 2
]
];

transformArray($array, 'key2');

我经常需要从multidimesions数组构建数组的函数,因为我在编写函数时就像在例子中一样,一些框架有自己的功能来执行此操作,也许这个解决方案存在最短的方式与标准PHP功能 ?

1 个答案:

答案 0 :(得分:2)

查看array_column函数(自PHP 5.5起支持)。
它返回输入多维数组中单个列的值。
官方文档中的示例:

$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);
// output:
        Array
    (
        [0] => John
        [1] => Sally
        [2] => Jane
        [3] => Peter
    )

http://php.net/manual/ru/function.array-column.php