如何用PHP成对合并多个数组?
How to merge multiple arrays in pairs with PHP?
我从表单中的 table 获取值。我有 2 行和 2 列。
每列有 2 个值。
我设法按行获取列值,我有这个数组:
array (
// 1st row
0 => array (
0 => 30,
1 => 34,
2 => 50,
3 => 52
),
// 2nd row
1 => array (
0 => 34,
1 => 38,
2 => 52,
3 => 54
)
)
预期输出:
array (
// 1st row
0 => array (
// 1st col
0 => array (
0 => 30,
1 => 34
),
// 2nd col
1 => array (
0 => 50,
1 => 52
)
),
// 2nd row
1 => array (
// 1st col
0 => array (
0 => 34,
1 => 38
),
// 2nd col
1 => array (
0 => 52,
1 => 54
)
)
)
我想将每个行数组分解为 2 对(= 2 列,每列有 2 个值)。
我不知道该怎么做,也许用 for
循环或模数 ?
$array = array (
// 1st row
0 => array (
0 => 30,
1 => 34,
2 => 50,
3 => 52
),
// 2nd row
1 => array (
0 => 34,
1 => 38,
2 => 52,
3 => 54
)
);
foreach ($array as &$a) {
$a = array_chunk($a, 2);
}
print_r($array);
输出:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 30
[1] => 34
)
[1] => Array
(
[0] => 50
[1] => 52
)
)
[1] => Array
(
[0] => Array
(
[0] => 34
[1] => 38
)
[1] => Array
(
[0] => 52
[1] => 54
)
)
)
你应该在你的数组上做一个循环并在每一行上使用 array_chunk :
$array = array (
array (30,34,50,52),
array (34,38,52,54)
);
foreach ( $array as &$row ){
$row = array_chunk($row, 2);
}
var_dump($array);
使用array_map,以及array_chunk
array_map(function($v){return array_chunk($v, 2);), $array);
我从表单中的 table 获取值。我有 2 行和 2 列。 每列有 2 个值。
我设法按行获取列值,我有这个数组:
array (
// 1st row
0 => array (
0 => 30,
1 => 34,
2 => 50,
3 => 52
),
// 2nd row
1 => array (
0 => 34,
1 => 38,
2 => 52,
3 => 54
)
)
预期输出:
array (
// 1st row
0 => array (
// 1st col
0 => array (
0 => 30,
1 => 34
),
// 2nd col
1 => array (
0 => 50,
1 => 52
)
),
// 2nd row
1 => array (
// 1st col
0 => array (
0 => 34,
1 => 38
),
// 2nd col
1 => array (
0 => 52,
1 => 54
)
)
)
我想将每个行数组分解为 2 对(= 2 列,每列有 2 个值)。
我不知道该怎么做,也许用 for
循环或模数 ?
$array = array (
// 1st row
0 => array (
0 => 30,
1 => 34,
2 => 50,
3 => 52
),
// 2nd row
1 => array (
0 => 34,
1 => 38,
2 => 52,
3 => 54
)
);
foreach ($array as &$a) {
$a = array_chunk($a, 2);
}
print_r($array);
输出:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 30
[1] => 34
)
[1] => Array
(
[0] => 50
[1] => 52
)
)
[1] => Array
(
[0] => Array
(
[0] => 34
[1] => 38
)
[1] => Array
(
[0] => 52
[1] => 54
)
)
)
你应该在你的数组上做一个循环并在每一行上使用 array_chunk :
$array = array (
array (30,34,50,52),
array (34,38,52,54)
);
foreach ( $array as &$row ){
$row = array_chunk($row, 2);
}
var_dump($array);
使用array_map,以及array_chunk
array_map(function($v){return array_chunk($v, 2);), $array);