如果我有数组这样的:如何在PHP中减少数组的内部数组值?
array(
array('id'=>123,'name'=>"Ele1"),
array('id'=>12233,'name'=>"Ele2"),
array('id'=>1003,'name'=>"Ele4"),
array('id'=>1233,'name'=>"Ele5")
)
这是我得到的数据,我想effeciently删除所有内部数组的第二个值。 (例如,“ELE1”,“Ele2” ....)
这里是我做的:
$numEle = count($arrayA);
$_arrayB = array();
for ($i=0; $i<$numEle ; $i++)
{
array_push($_arrayB , $arrayA[$i]['id']);
}
而不是有一个for循环读取和值分配到一个新的数组。什么是最好的方式来做到这一点?任何PHP的内置函数我应该使用?
like array_map?
我目前做的:
感谢所有的答案。他们都工作。 :)
尽管这个解决方案按预期工作,我个人认为''array_reduce()'不是正确的功能对于这个用例,因为它不是一个缩减操作,而是一个映射操作(在映射和缩减的上下文中)。 – 2010-11-09 08:22:30
@Stefan Gehrig:在map-reduce - reduce部分可以以任何方式减少映射数据。它甚至可以根本不会减少它。 – zerkms 2010-11-09 10:47:15
好吧,它只是*感觉*不是真的,就好像它是正确的功能。但是,它的工作原理并不重要。 – 2010-11-09 12:00:46