足して5のペアを全て表示するにはどうすればよいでしょうか。
$array = ["a"=>[1,2,3,4],"b"=>[1,2,3,4],"c"=>[1,2,3,4],"d"=>[1,2,3,4]];
なお、配列内の同じ数字は1度しか使えません。
("a"1"b"3), ("a"1,"c"3) これは"a"1が2回出るのでだめです。
表示例:
(1,4)(2,3)(3,2)(4,1)
(1,4)(2,3)(3,2)(4,1)
よろしくお願いいたします。
■コード
<?php $array = array("A"=>array(1,2,3,4), "B"=>array(1,2,3,4), "C"=>array(1,2,3,4), "D"=>array(1,2,3,4), ); shuffle($array); for($a=0; $a<4; $a++){ for($b=0; $b<4; $b++){ if((($array[0][$a])+($array[1][$b])) == 5){ echo "(" . $array[0][$a].",".$array[1][$b] .")"; } } }echo "<br>"; for($c=0; $c<4; $c++){ for($d=0; $d<4; $d++){ if((($array[2][$c])+($array[3][$d])) == 5){ echo "(" . $array[2][$c].",".$array[3][$d] .")"; } } }
■結果:
(1,4)(2,3)(3,2)(4,1)
(1,4)(2,3)(3,2)(4,1)
ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
ありがとうございます!追記しました。
回答ではなく、質問文に、コードブロックで追記してください。コードブロックは ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
ありがとうございます!勉強になりました。
質問編集してください。
要素は偶数個であり、必ずペアになるものがいる、要素の重複はない、負の数はないといった点を前提にしてよいのでしょうか?
はい。ご返信ありがとうございます。