将多维数组中具有给定键的所有元素获取为一维数组


Get all elements with given key in multidimensional array to a onedimensional array

假设我有一个多维数组,其中键id字段。我想要的是把id的所有元素放在一维数组中。我的意思是"擦除"字段,但保持原来的多维数组完整…这可能不使用foreach吗?

听起来像是将array_column()添加到PHP中的目的

$result = array_column($myOriginalArray, 'id');

但是需要PHP 5.5+

如果您运行的是较早版本的PHP,您可以使用

模拟此操作
$columnName = 'id';
$result = array_map(
    function($value) use ($columnName) {
        return $value[$columnName];
    },
    $myOriginalArray
);