东西困扰我很长时间:优雅的方式来从阵列中提取值
我想这个数组转换:
// $article['Tags']
array(3) {
[0] => array(2) {
["id"] => string(4) "1"
["tag"] => string(5) "tag1"
},
[1] => array(2) {
["id"] => string(4) "2"
["tag"] => string(5) "tag2"
},
[2] => array(2) {
["id"] => string(4) "3"
["tag"] => string(5) "tag3"
},
}
这种形式:
// $extractedTags[]
array(3) {
[0] => string(4) "tag1",
[1] => string(4) "tag2",
[2] => string(4) "tag3",
}
目前
我我正在使用这个代码:
$extractedTags = array();
foreach ($article['Tags'] as $tags) {
$extractedTags[] = $tags['tag'];
}
是否有任何更优雅的方式做到这一点,也许是一个PHP内置函数?
你可以使用'array_filter'使用一个回调函数,但是这可能比你有解决方案不太优雅。我可能会坚持你所拥有的。 – 2010-06-01 11:02:35
正如我对复制http://stackoverflow.com/questions/2939189/php-multi-dimensional-array-manipulation/2939204#2939204显示最快的方法做你想要的是foreach。 'array_map'和'array_filter'具有巨大的开销,因为它们需要为每个元素调用用户定义的函数。 – 2010-06-01 14:17:54
我刚刚为php 5.5添加了这个建议:https://wiki.php.net/rfc/array_column--完全是我所要求的。 – smoove 2012-07-12 12:53:32