我手头有以下阵列。我必须迭代以下数组,以便它将创建另一个数组,其输出为新数组的第0个索引上每个子数组的第0个索引,依此类推。
当前数组
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[2] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
)
所需输出
Array
(
[0] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
[1] => Array
(
[0] => 2
[1] => 2
[2] => 2
)
[2] => Array
(
[0] => 3
[1] => 3
[2] => 3
)
)
答案 0 :(得分:5)
对于PHP版本> = 5.5.0,您有array_column()函数:
$newArray = array_column(
$oldArray,
0
);
对于早期版本的PHP,您可以使用array_map()
$column = 0;
$newArray = array_map(
function ($value) use ($column) {
return $value[$column];
},
$oldArray
);
答案 1 :(得分:0)
这不是很多信息......所以,比如:
$newArray = [];
foreach($topArray as $idxTop => $valTop){
if(is_array($valTop)){($newArray[] = $valTop[0];}
}
答案 2 :(得分:0)
$input = [
0 => [1, 2, 3],
1 => [1, 2, 3],
2 => [1, 2, 3]
];
$output = [
array_column($input, 0),
array_column($input, 1),
array_column($input, 2)
];
print_r($output);
// Output:
//
// Array
// (
// [0] => Array
// (
// [0] => 1
// [1] => 1
// [2] => 1
// )
// [1] => Array
// (
// [0] => 2
// [1] => 2
// [2] => 2
// )
// [2] => Array
// (
// [0] => 3
// [1] => 3
// [2] => 3
// )
// )