我有一个数组如下:
$arr1 = array(
0 => array(
'name' => 'tom',
'age' => 22
),
1 => array(
'name' => 'nick',
'age' => 18
)
);
Run Code Online (Sandbox Code Playgroud)
但是我想从它创建一个由所有名称组成的数组,因此它将成为:
$arr2 = array('tom', 'nick');
Run Code Online (Sandbox Code Playgroud)
我看过了array_filter(),但这不会起作用,因为这是一个多维数组!
如何使用name来自另一个多维数组的特定键()的值创建数组?
jwu*_*ler 35
较新版本的PHP允许使用array_map()函数表达式而不是函数名称:
$arr2 = array_map(function($person) {
return $person['name'];
}, $arr1);
Run Code Online (Sandbox Code Playgroud)
但是如果使用PHP <5.3,则使用简单循环要容易得多,因为array_map()需要为这个简单的操作定义一个(可能是全局的)函数.
$arr2 = array();
foreach ($arr1 as $person) {
$arr2[] = $person['name'];
}
// $arr2 now contains all names
Run Code Online (Sandbox Code Playgroud)
小智 11
这可以通过使用array_coulmn以更简单的方式完成
$arr2= array_column($arr1, 'name');
print_r($arr2); //Array ( [0] => tom [1] => nick )
Run Code Online (Sandbox Code Playgroud)
array_column用于获取子数组的列.
| 归档时间: |
|
| 查看次数: |
34578 次 |
| 最近记录: |