1

さて、ここに多次元配列があります。これは、それぞれ 3 つの数字を持つ 3 つの配列で構成されます。

$numbers = array(
    array("1", "2", "3"),
    array("4", "5", "6"),
    array("7", "8", "9"),
);

これらの配列から、考えられるすべての数値の組み合わせを生成して一覧表示したいと考えています。たとえば、"147" (1 は最初の配列から、4 は 2 番目の配列から、7 は 3 番目の配列から)、"247、347、157、257、357、167、267、367 などです。 ."

重要なことは、最初の数値は最初の配列から、2 番目の数値は 2 番目の配列から、3 番目の数値は 3 番目の配列から取得する必要があるということです。

ネストされた foreach ループを使用してこれらの配列をループしようとしましたが、よく理解できず、頭が回転しています。それが理にかなっていることを願っています。どんな助けでも大歓迎です。

4

2 に答える 2

4
$numbers = array(
    array("1", "2", "3"),
    array("4", "5", "6"),
    array("7", "8", "9"),
);

$f_nb = $numbers['0'];
$s_nb = $numbers['1'];
$t_nb = $numbers['2'];

$final_array = array();

for($a = 0; $a<sizeof($f_nb); $a++) 
{
    for($b = 0; $b<sizeof($s_nb); $b++) 
    {
        for($c = 0; $c<sizeof($t_nb); $c++) 
        {
            $final_array[] = $f_nb["$a"] . $s_nb["$b"] . $t_nb["$c"];
        }
    }
}

print_r($final_array);
于 2013-02-27T00:03:11.280 に答える
3
<?php
$numbers = array(
    array("1", "2", "3"),
    array("4", "5", "6"),
    array("7", "8", "9"),
);

for ($i=0;$i<3;$i++) {
  for ($j=0;$j<3;$j++) {
    for ($k=0;$k<3;$k++) {
      echo $numbers[0][$i]+" "+$numbers[1][$j]+" "+$numbers[2][$k]+"\n";
    }
  }
}
?>

私は以前にphpでプログラムしていなかったので、コードがあなたの目を出血させるかもしれません。それにもかかわらず、コードは機能し、アイデアを示しています。

于 2013-02-26T23:51:21.460 に答える