假设我有一个数组像
$arr = array (
array( 'foo' => 'Lorem' ),
array( 'foo' => 'ipsum' ),
array( 'foo' => 'dolor' ),
array( 'foo' => 'sit' )
);
我怎么能快速转换这个数组的关键“foo”的索引数组? 这样的结果是
Array
(
[0] => 'Lorem'
[1] => 'ipsum'
[2] => 'dolor'
[3] => 'sit'
)
是否有与PHP功能的任何快速的方法? 或者我只需要创建一个新的数组,遍历另一个和手动插入值。
你可以利用array_column
它可以从PHP 5.5
print_r(array_column($arr,'foo'));
编码...
<?php
$arr = array (
array( 'foo' => 'Lorem' ),
array( 'foo' => 'ipsum' ),
array( 'foo' => 'dolor' ),
array( 'foo' => 'sit' )
);
print_r(array_column($arr,'foo'));
演示
您可以使用array_map()
这工作 -
$new_arr = array_map(function($v){return $v['foo'];}, $arr);
var_dump($new_arr);
// OUTPUT
array
0 => string 'Lorem' (length=5)
1 => string 'ipsum' (length=5)
2 => string 'dolor' (length=5)
3 => string 'sit' (length=3)
..或使用array_map(..)
<?php
$arr = array (
array( 'foo' => 'Lorem' ),
array( 'foo' => 'ipsum' ),
array( 'foo' => 'dolor' ),
array( 'foo' => 'sit' )
);
print_r(array_map(function($x){return $x["foo"];}, $arr));
输出 :
Array
(
[0] => Lorem
[1] => ipsum
[2] => dolor
[3] => sit
)