<?php
$st="Success";
if(($st=="SUCCESS" || $st=="Success" || $st=="success") && $st!=0 && $st!="0" && $st!="FAILURE" && $st!="Queued" && $st!="Pending" && $st!="queued" && $st!="pending" && $st!="QUEUED" && $st!="PENDING" )
{
echo 'success';
}else
if(($st=="FAILURE" || $st=="failure" || $st=="0" || $st==0 || $st=="Failure") && $st!="Queued" && $st!="Pending" && $st!="queued" && $st!="pending" && $st!="QUEUED" && $st!="PENDING" && $st!="SUCCESS" && $st!="Success" && $st!="success" )
{
echo 'failed';
}else
{
echo 'nill';
}
?>
為什么當我傳入 Success 值時我的代碼列印 nill $st?&& , || 怎么做 優先在 if else 陳述句中作業?
uj5u.com熱心網友回復:
正如我提到的,您應該檢查它是什么,而不是它不是什么,因為您只檢查一個變數。如果$st是成功,它不可能是其他任何東西。失敗/0 也是如此。您還可以通過將變數轉換為小寫來消除一些檢查。
if(strtolower($st) == 'success') { // Convert to lowercase and check against "success"
echo 'Success';
}
else if(strtolower($st) == 'Failure' || (is_integer($st) && $st == 0)) { // convert to lowercase and check if it's "failure" or it's a number and 0
echo 'Failed';
}
else {
echo 'nill';
}
如果您知道自己通過了成功,則可以var_dump($st);在 else 檢查中添加一個內部以查看它包含的內容。確保計算字符數,因為“成功”與“成功”不同。您還可以trim($st);在if檢查之前添加 a以從 value 的末尾洗掉任何額外的空格。
uj5u.com熱心網友回復:
我已經修復了你的代碼
<?php
$st="Success";
if($st=="SUCCESS" || $st=="Success" || $st=="success" && $st!=0 && $st!="0" && $st!="FAILURE" && $st!="Queued" && $st!="Pending" && $st!="queued" && $st!="pending" && $st!="QUEUED" && $st!="PENDING" )
{
echo 'success';
}
else{
if($st=="FAILURE" || $st=="failure" || $st=="0" || $st==0 || $st=="Failure" && $st!="Queued" && $st!="Pending" && $st!="queued" && $st!="pending" && $st!="QUEUED" && $st!="PENDING" && $st!="SUCCESS" && $st!="Success" && $st!="success" )
{
echo 'failed';
}else
{
echo 'nill';
}
}
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/397555.html
