PHP - 重构/改进Ifs

我有以下数据结构;PHP - 重构/改进Ifs

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。

任何人都可以提出一个更好的方法来做到这一点?

回答:

也许尝试使用in_array()方法

php.net in_array()

回答:

尝试使用这样的引用:

$rank0 =& $hand[0]['rank']; 

$rank1 =& $hand[1]['rank'];

if (

($rank0 == "A" && $rank1 == "A")

|| (...)

只是,作为第一步代码最小化

以上是 PHP - 重构/改进Ifs 的全部内容, 来源链接: utcz.com/qa/258747.html

回到顶部