次のようなデータ構造があります。
Array ( [0] => Array ([suit] => c [rank] => A )
[1] => Array ( [suit] => d [rank] => A ) )
これらのカードが特定の値であるかどうかをテストし、適切なメッセージを表示します。
if (
(($hand[0]["rank"] == "A") && ($hand[1]["rank"] == "A"))
|| (($hand[0]["rank"] == "K") && ($hand[1]["rank"] == "K"))
|| (($hand[0]["rank"] == "Q") && ($hand[1]["rank"] == "Q"))
|| (($hand[0]["rank"] == "A") && ($hand[1]["rank"] == "K"))
|| (($hand[0]["rank"] == "K") && ($hand[1]["rank"] == "A"))
) {
echo "Action: Raise pre-flop. Re-raise if already raised.<br />n";
}
if (
(($hand[0]["rank"] == "7") && ($hand[1]["rank"] == "7"))
|| (($hand[0]["rank"] == "A") && ($hand[1]["rank"] == "J") && ($hand[0]["suit"] == $hand[1]["suit"]))
|| (($hand[0]["rank"] == "J") && ($hand[1]["rank"] == "Q") && ($hand[0]["suit"] == $hand[1]["suit"]))
|| (($hand[0]["rank"] == "10") && ($hand[1]["rank"] == "J") && ($hand[0]["suit"] == $hand[1]["suit"]))
) {
echo "Action: Worth a call pre-flop (provided no-one has raised).<br />n";
}
私はいくつかの条件を取り除くことによってIFを単純化しました。
誰もこれを行うためのより良い方法を提案することはできますか?
回答:
回答№1は0多分in_array()メソッドを試してみてください
回答№2の場合は0
このような参照を使用してみてください。
$rank0 =& $hand[0]["rank"];
$rank1 =& $hand[1]["rank"];
if (
($rank0 == "A" && $rank1 == "A")
|| (...)
コード最小化の第一歩として