PHP检查多个条件是否为真
我想要一份声明,检查你的黄金和铁是否都大于500,如果其中一个失败,你就不能执行 现在我还想检查哪一个失败了,这样我就可以告诉用户他/她缺少什么资源PHP检查多个条件是否为真,php,Php,我想要一份声明,检查你的黄金和铁是否都大于500,如果其中一个失败,你就不能执行 现在我还想检查哪一个失败了,这样我就可以告诉用户他/她缺少什么资源 我不知道解决我的问题的最佳方法是什么,我尝试过嵌套多个if/elseif,但结果是一个大混乱,最重要的是它根本不起作用。我更喜欢以这种方式使用开关方法: switch($type){ case 'gold': $sss = 'aaa'; break; } 或使用If函数: if($type == 'gold'){
我不知道解决我的问题的最佳方法是什么,我尝试过嵌套多个if/elseif,但结果是一个大混乱,最重要的是它根本不起作用。我更喜欢以这种方式使用开关方法:
switch($type){
case 'gold':
$sss = 'aaa';
break;
}
或使用If函数:
if($type == 'gold'){
}else if($type == 'iron'){
}
您不需要嵌套的if语句
bool condition1 = gold < 500;
bool condition2 = silver < 1000;
bool condition3 = diamonds < 50;
if (!condition1)
{
echo "condition 1 failed.";
}
if (!condition2)
{
echo "condition 2 failed.";
}
if (!condition3)
{
echo "condition 3 failed.";
}
if (condition1 && condition2 && condition3)
{
echo "sucess!";
}
如果最终条件太长,则始终可以定义bool failed,并在满足上述任何条件时将其设置为true。执行以下检查:
if(($gold > 500 || $iron > 500) || ($iron> 500 || $gold > 500)){
if($gold>500 && $iron <= 500){
echo "iron failed";
}else($iron >500 && $gold<= 500){
echo "gold failed";
}
}else{
echo "Both failed";
}
因为您没有提供任何代码,所以很难告诉您最好做什么以及什么与您的代码相匹配。一般来说,您可以这样做:
if($amountGold >= 500 && $amountIron >= 500)
{
//Do funny stuff -> Success
}
else
{
if($amountGold >= 500)
{
echo "Not enough Iron";
}
else
{
if($amountIron >= 500)
{
echo "Not enough Gold";
}
else
{
echo "Not enough Gold and Iron";
}
}
}
试试这个:
<?php
$gold=10;
$iron=10;
$failures=array();
if ( $gold >= 500 && $iron >= 500 )
{
/*
* Success
*/
} else
{
if ( $gold < 500 )
{
$failures[] = 'Gold';
}
if ( $iron < 500 )
{
$failures[] = 'Iron';
}
}
echo ((count($failures)>0) ? implode (', ',$failures)." failed" : "Huzzah!").PHP_EOL;
你有任何代码开始吗?我猜如果$gold>500 | |$iron>500,你会想这样做{最初是因为你永远不会进入嵌套条件。仍然是不好的做法。你的答案非常混乱。你从来没有考虑到如果铁和金都超过500会发生什么。你对金和铁的级别检查在两个不同的顺序中是多余的。移除所有括号,你只剩下一组简单的or co条件,你应该检查。你应该先检查金和铁都超过500的成功率,然后,如果失败,检查哪些失败了。但是如果我有3个值,如果它们大于500,都需要检查,并输出哪些失败了,哪些成功了,这不会产生一个巨大的可能性列表吗lities?无法想象numorous if/elseif语句是归档的理想方式。如果有更多商品需要检查,则将其保存在一个数组中。将故障级别保存在另一个数组中。然后,您可以使用循环检查当前级别是否大于故障级别,并相应地进行处理