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());