Php 如何提取密钥=>;此数组中的值对

Php 如何提取密钥=>;此数组中的值对,php,multidimensional-array,Php,Multidimensional Array,我有这个数组 [InstrumentCategory] => Array ( [0] => Array ( [id] => 4 [title] => Training [Instrumen

我有这个数组

[InstrumentCategory] => Array
                (
                    [0] => Array
                        (
                            [id] => 4
                            [title] => Training
                            [InstrumentsCategory] => Array
                                (
                                    [id] => 56
                                    [instrument_id] => 28
                                    [category_id] => 4
                                )

                        )

                    [1] => Array
                        (
                            [id] => 8
                            [title] => Working time flexibility
                            [InstrumentsCategory] => Array
                                (
                                    [id] => 57
                                    [instrument_id] => 28
                                    [category_id] => 8
                                )

                        )

                    [2] => Array
                        (
                            [id] => 16
                            [title] => Income support for workers
                            [InstrumentsCategory] => Array
                                (
                                    [id] => 55
                                    [instrument_id] => 28
                                    [category_id] => 16
                                )

                        )

                )
除了
for
循环之外,还有其他方法提取id=>值对(注意,在本例中,
id
是子数组中的键)吗


提前感谢

如果使用PHP5.3,可以使用以下代码():

之后,
$r
包含id=>值对

编辑:对于PHP版本<5.3,您可以执行以下操作:

function array_reduce_cb_id ($res, $cur) {
    return $res + array($cur['id'] => $cur);
}

$r = array_reduce($input_array, 'array_reduce_cb_id', array());

当然,直接访问,如果您知道所有父数组键。否则,不会。您如何尝试“提取”id=>value?你提前知道你想要什么价值?或者反过来说,您知道值所在的键是什么(即:
InstrumentCategory[0][0]
function array_reduce_cb_id ($res, $cur) {
    return $res + array($cur['id'] => $cur);
}

$r = array_reduce($input_array, 'array_reduce_cb_id', array());