假设我有一个类似
的数组$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功能有什么快捷方式吗?或者我只需要创建一个新数组,迭代另一个数组并手动插入值。
答案 0 :(得分:2)
您可以使用PHP 5.5中提供的array_column
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'));
答案 1 :(得分:2)
您可以使用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)
答案 2 :(得分:1)
..或使用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
)