我有一个这样的数组:
$a = array(
array(
'a' => 'x',
'b' => 'asdasd',
),
array(
'a' => 'f',
'b' => '123123qwe',
),
);
我希望像这样的阵列:
$a = array(
'asdasd',
'123123qwe',
);
我可以通过迭代和填充新数组来改变它, 我想知道我是否可以在没有临时变量的情况下在一行中执行此操作?
更新:使用PHP 5.3,感谢您的5.5建议!
答案 0 :(得分:7)
答案 1 :(得分:3)
老派方法(5.5之前):
<?php
function simplify($el)
{
return $el['b'];
}
$a = array(
array(
'a' => 'x',
'b' => 'asdasd',
),
array(
'a' => 'f',
'b' => '123123qwe',
),
);
$a = array_map('simplify',$a);
echo '<pre>'.print_r($a,true).'</pre>';
5.3具有匿名功能的方法:
$a = array_map(function($el){return $el['b'];},$a);
echo '<pre>'.print_r($a,true).'</pre>';