我有这个数组
[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
)
)
)
有没有其他方法可以提取id =>值对(请注意id
在这种情况下是子数组中的键)而不是for
循环?
提前致谢
答案 0 :(得分:2)
如果您使用PHP 5.3,则可以使用以下代码(array_reduce):
$r = array_reduce($input_array,
function ($res, $cur) {
return $res + array($cur['id'] => $cur);
}, array());
之后,$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());