如何用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_chunk:

$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);