我正在寻找一种更专业的方法来解决一个非常简单的问题。
我有一个像:
这样的数组$originalArray = [
0 => [
'id' => 22,
],
1 => [
'id' => 9,
],
2 => [
'id' => 15,
],
]
知道所有这些ID都是唯一的,我想将数组简化为:
$peeledResult = [
0 => 22,
1=> 9,
2 => 15,
]
以下是我的基本解决方案,但我想知道是否有更优雅的方法来实现同样的目标。
$peeledResult = [];
foreach ($originalArray as $item) {
$peeledResult[] = $role['id'];
}
提前感谢您的任何建议:)
答案 0 :(得分:3)
尝试使用array_column
(返回输入数组中单个列的值)
$new = array_column($originalArray, 'id');
或array_map
-
$new = array_map(function($x) {
return $x['id'];
}, $originalArray);
<强>输出强>
array(3) {
[0]=>
int(22)
[1]=>
int(9)
[2]=>
int(15)
}