【问题标题】:How to convert two single dimensional arrays into one multi-dimensional array - PHP如何将两个一维数组转换为一个多维数组 - PHP
【发布时间】:2019-04-14 11:23:44
【问题描述】:

这是我的代码,我将 post 值放入一个数组中,并将它们分成 2 个一维数组,即偶数和奇数。

    $seed_pairing = $this->input->post('seed');
    if ($seed_pairing) {
        $even_array = array();
        for ($i = 0; $i = count($seed_pairing); $i++) {
            if ($i % 2 == 0 && $i != 0) {
                $even_array[] = $i;
            }
        }
        $odd_array = array();
        for ($i = 0; $i = count($seed_pairing); $i++) {
            if ($i % 2 !== 0 && $i != 0) {
                $odd_array[] = $i;
            }
        }
        rsort($even_array);
        print_r($odd_array);
        print_r($even_array);die();
    }

上面的代码工作完美,正是我想要的,这是当前数组的结果。现在我想像下面给出的多维数组一样将它们配对在一起。

    Array
    (
        [0] => 1
        [1] => 3
    )
    Array
    (
        [0] => 4
        [1] => 2
    )

这就是我想要的

    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => 4
            )
        [1] => Array
            (
                [0] => 3
                [1] => 2
            )
    )

【问题讨论】:

  • 您是否希望将两个数组中的键零值放入一个数组中,然后以此类推?
  • 是的,这正是我想要的。

标签: php codeigniter codeigniter-3


【解决方案1】:
$new_array = [];

foreach ($even_array as $key => $value) {
    $new_array[] = [$even_array[$key], $odd_array[$key]];
}

print_r($new_array);

###结果:

Array
(
    [0] => Array
        (
            [0] => 4
            [1] => 1
        )

    [1] => Array
        (
            [0] => 2
            [1] => 3
        )

)

【讨论】:

  • 您的答案不是按索引奇偶校验分组,而是按索引分组
  • do you want the key zeros values from both arrays into an array and the ones and so on? – Talal yes exactly this is what i want. – Musa Butt
  • 如果两个数组不匹配,则会出现错误,您必须先检查