- ベストアンサー
配列と繰り返し
PHPを勉強し始めて間もない者です。 例えばなのですが、 (A,B,C,D) (A,B,C,D) (A,B,C,D) という語群があって、この中から3つを選択して、 A,A,A A,A,B A,A,C A,A,D A,B,A A,B,B A,B,C …… という文字列を作りたいのですが、どのようにすれば良いのかわからなかったので質問させていただきました。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ループする構文の中でさらにループさせて、ソレをまたループさせるというネストする構造になっていれば良いのですが、とりあえず下記。 <?php $abcd = array('A', 'B', 'C', 'D'); foreach($abcd as $val1){ foreach($abcd as $val2){ foreach($abcd as $val3){ echo "$val1, $val2, $val3"."\r\n"; } } } ?>
その他の回答 (1)
- tostem41
- ベストアンサー率38% (7/18)
言語は詳しくありませんが… 3つの配列ぐるぐる回して配列の要素を表示していけばいいんですよね? こんな感じで配列の要素数分だけfor文で回して、それを3配列分繰り返すと期待した結果が求められると思います。 for i = 0 to A[].COUNT for j = 0 to B[].COUNT for k = 0 to C[].COUNT print A[i]B[j]C[k] next next next ※配列の要素番号が0始まりなのか、for文の公式、配列の要素数の表示方法、配列の要素を表示させる方法、結果の表示方法についてはご自身で変更して下さい。
お礼
tostem41さん、hogehoge78さん、アドバイスありがとうございます。 おかげ様で解決することができました。