我有一个数组如下:
$arr1 = array(
0 => array(
'name' => 'tom',
'age' => 22
),
1 => array(
'name' => 'nick',
'age' => 18
)
);
但是我想从它创建一个包含所有名称的数组,所以它会变成:
$arr2 = array('tom', 'nick');
我查看了 array_filter()
,但那是行不通的,因为这是一个多维数组!
问题
如何使用另一个多维数组中特定键 (name
) 的值创建一个数组?
最佳答案
较新版本的 PHP 允许使用 array_map()
使用函数表达式而不是函数名:
$arr2 = array_map(function($person) {
return $person['name'];
}, $arr1);
但如果您使用的是 PHP < 5.3,则使用简单循环要容易得多,因为 array_map()
需要为这个简单的操作定义一个(可能是全局的)函数。
$arr2 = array();
foreach ($arr1 as $person) {
$arr2[] = $person['name'];
}
// $arr2 now contains all names
关于php - 如何从另一个数组键的值创建一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550976/