获取多维php数组中的值列表

时间:2016-03-14 11:55:49

标签: php

我需要更改此数组:

$array = [
        [0] => [
            'id' => '100'
        ],
        [1] => [
            'id' => '200'
        ],
        [2] => [
            'id' => '300'
        ]
    ];

进入: $array2 = [100, 200, 300];

很久以前我发现了一个内置的PHP函数,它可以为我做这个。但我不能为我的生活记住它是哪一个。当然我可以手动完成,但如果我可以使用内置的PHP函数,它会更容易和更易读。

2 个答案:

答案 0 :(得分:1)

像这样使用array_columnarray_column($array, 'id');

答案 1 :(得分:0)

第一个解决方案:

使用array_map()函数和内联函数:

$array2 = array_map(function($arrayElement){return $arrayElement['id'];}, $array);

第二个解决方案:

使用foreach循环:

function getValues($array, $index)
{
    $result = array();
    foreach($array as $element)
    {
        if(isset($element[$index])) //check if index exists
            $result[] = $element[$index];
    }

    return $result;
}

$array2 = getValues($array, 'id');

此函数有两个参数:从中获取值和索引的数组,例如'id'

两种方法的结果相同:

Array
(
    [0] => 100
    [1] => 200
    [2] => 300
)