从多维数组我想提取单列

Ran*_*yab 0 php arrays multidimensional-array

输入:

Array
(
[1] => Array
    (
        [id] => 11
        [has_point] => 0
        [xpr] => 0
        [war] => 0
        [sty] => 0
    )

[2] => Array
    (
        [id] => 52
        [has_point] => 0
        [xpr] => 0
        [war] => 0
        [sty] => 0
    )

[3] => Array
    (
        [id] => 34
        [has_point] => 1
        [xpr] => 300
        [war] => 0
        [sty] => 0
    )

[4] => Array
    (
        [id] => 47
        [has_point] => 0
        [xpr] => 0
        [war] => 0
        [sty] => 0
    )

[5] => Array
    (
        [id] => 57
        [has_point] => 1
        [xpr] => 500
        [war] => 0
        [sty] => 0
    )
Run Code Online (Sandbox Code Playgroud)

)

输出:

Array
(
    [1] => 11
    [2] => 52
    [3] => 34
    [4] => 47
    [5] => 57
)
Run Code Online (Sandbox Code Playgroud)

那么PHP中是否有任何函数可以获得此输出,因此我不必编写自己的函数.

我试过了

function customArraySearch($array, $search) {
    $col = array();
    foreach ($array as $v) {
        $col[] = $v[$search];
    }
    return $col;
}
Run Code Online (Sandbox Code Playgroud)

我得到了我的输出,但我想优化我的代码,所以如果数组中有10000条记录需要一些时间.请建议任何内置的PHP功能

Rik*_*esh 6

您需要的功能是array_column.

$id_array = array_column($your_array, 'id');
Run Code Online (Sandbox Code Playgroud)

注意:支持的版本是PHP 5> = 5.5.0