是否有任何 PHP array_* 函数用于从多维数组中提取单个值?
Is there any PHP array_* function for extracting single values from a multidimensional array?
如果我有一个多维数组,我想从中提取一些数据并将它们放在一个新数组中,是否有现有的 array_*()
函数可以这样做?
例如,如果我有以下数组:
array(
[
'id' => 1,
'num' => 200,
'text' => 'abc'
],
[
'id' => 2,
'num' => 230,
'text' => 'def'
],
[
'id' => 3,
'num' => 100,
'text' => 'ghi'
],
)
我想获得以下结果数组:
[ 'abc', 'def', 'ghi' ]
当然我总是可以使用 foreach()
或类似的东西手动完成,但是单行总是很好 :)
尝试array_column函数;
array_column(array $data, 'key')
您可以在 php
中使用 array_map()
<?php
$array = array([
'id' => 1,
'num' => 200,
'text' => 'abc'
],
[
'id' => 2,
'num' => 230,
'text' => 'def'
],
[
'id' => 3,
'num' => 100,
'text' => 'ghi'
],
);
$return = array_map(function ($value) {
return $value['text'];
}, $array);
echo "<pre>";
print_R($return);
?>
如果我有一个多维数组,我想从中提取一些数据并将它们放在一个新数组中,是否有现有的 array_*()
函数可以这样做?
例如,如果我有以下数组:
array(
[
'id' => 1,
'num' => 200,
'text' => 'abc'
],
[
'id' => 2,
'num' => 230,
'text' => 'def'
],
[
'id' => 3,
'num' => 100,
'text' => 'ghi'
],
)
我想获得以下结果数组:
[ 'abc', 'def', 'ghi' ]
当然我总是可以使用 foreach()
或类似的东西手动完成,但是单行总是很好 :)
尝试array_column函数;
array_column(array $data, 'key')
您可以在 php
中使用 array_map()<?php
$array = array([
'id' => 1,
'num' => 200,
'text' => 'abc'
],
[
'id' => 2,
'num' => 230,
'text' => 'def'
],
[
'id' => 3,
'num' => 100,
'text' => 'ghi'
],
);
$return = array_map(function ($value) {
return $value['text'];
}, $array);
echo "<pre>";
print_R($return);
?>