如何组合两个PHP数组并根据索引号显示结果


How to combine two PHP arrays and display results according to index number?

我创建了两个数组。首先,数组显示没有任何顺序的元素。因此,我必须首先按字母顺序和从低到高对它们进行排序。一旦按顺序排列,需要组合的两个数组,以便每个数组中的每个元素都根据其索引号进行组合

我的目标: a0 b1 c2 d3 e4 f5 g6

我得到的: abcdefg0123456

$array1 = array("b", "f", "g", "a", "c", "d", "e");
    $array2 = array("5", "0", "1", "4", "3", "2", "6");
    sort($array1);
    sort($array2);
    echo "<pre> 'n";
    print_r($array1);
    echo "</pre> 'n";
    echo "<pre> 'n";
    print_r($array2);
    echo "</pre> 'n";
    echo "<h3 style='font-family:Helvetica'>Combining Arrays</h3>";
    $array3 = array_merge($array1, $array2);

    for($i = 0; $i < 7; $i++)
    {
        for($j = 0; $j < 7; $j++)
        {
            echo $array3[$i] [$j];
        }
    }

这不能由array_merge完成。使用简单循环。

   

    $array1 = array("b", "f", "g", "a", "c", "d", "e");
    $array2 = array("5", "0", "1", "4", "3", "2", "6");
    sort($array1);
    sort($array2);
    for($j = 0; $j < 7; $j++){
        echo "{$array1[$j]}{$array2[$j]} ";
    }

  http://ideone.com/LLdVm

array_merge

您希望它们排序的顺序一无所知。它甚至不知道内容是字母还是数字,更不用说与先前数组的内容相对应的字母表索引了!

简而言之,你不能用array_merge做你想做的事。您只需要创建自己的循环即可解决问题。

你的代码甚至没有意义 - 你有两个一维数组,你把它们连接起来然后打印,就好像它们是二维数组一样??

我认为他只想要一个带有元素的数组,正如他所说:

a0 b1 c2 d3 e4 f5 g6

这应该有效:

$array3 = array();
for($i = 0; $i < 7; $i++){
  $array3[] = $array1[$i].$array2[$i];
}
echo "<pre> 'n";
print_r($array3);
echo "</pre> 'n";

这是最好的组合方式 - 使用 array_combine

    $array1 = array("b", "f", "g", "a", "c", "d", "e");
        $array2 = array("5", "0", "1", "4", "3", "2", "6");
        sort($array1);
        sort($array2);
        echo "<pre> 'n";
        print_r($array1);
        echo "</pre> 'n";
        echo "<pre> 'n";
        print_r($array2);
        echo "</pre> 'n";
        echo "<h3 style='font-family:Helvetica'>Combining Arrays</h3>";
//        $array3 = array_merge($array1, $array2);

        $array3 = array_combine($array1, $array2);

        echo "<pre> 'n";
        print_r($array3);
        echo "</pre> 'n";
        foreach($array3 as $letter => $number){
            echo "$letter:$number <br />";
        }