目前,我有下面的代碼行1條if語句中是否可以有2個條件?
elseif($_POST['aspam'] != 'fire'){
print "Is ice really hotter than fire?";
}
是否有任何形式的OR函數在PHP?好像在說...
$_POST['aspam'] != 'fire' OR !='Fire'
或者讓我的數值不區分大小寫? 希望這是有道理的...
目前,我有下面的代碼行1條if語句中是否可以有2個條件?
elseif($_POST['aspam'] != 'fire'){
print "Is ice really hotter than fire?";
}
是否有任何形式的OR函數在PHP?好像在說...
$_POST['aspam'] != 'fire' OR !='Fire'
或者讓我的數值不區分大小寫? 希望這是有道理的...
的||
或or
(小寫)運算符。
elseif($_POST['aspam'] != 'fire' || $_POST['aspam'] != 'Fire'){
print "Is ice really hotter than fire?";
}
當然。
$_POST['aspam'] != 'fire' or $_POST['aspam'] !='Fire'
請記住,每個條件是分開的。說or != 'Fire'
不會自動將其解釋爲or $_POST['aspam'] != 'Fire'
。他們被稱爲logical operators。
比較小寫:
strtolower($_POST['aspam'] != 'fire'
是。
if (first condition || second condition){
your code
}
該OR由2個管道 - ||表示。
更多的東西: 您也可以和:
if(first condition && second condition){
Your code...
}
因此,由& &
這是邏輯OR
$_POST['aspam'] != 'fire' || !='Fire'
表示,這是個案不靈敏(ToLower功能)
strtolower($_POST['aspam']) != 'fire'
謝謝@jonathan,我可以問問strtolower使我的價值全部小寫,因此不管它的輸入應該如何工作? – Liam
http://us.php.net/manual/en/function.strtolower.php – webbiedave
@Liam:是的,這就是strlower函數的作用。所以「火」或「火」會產生「火」的輸出。 http://php.net/manual/en/function.strtolower.php – Ray
使用strtolower($_POST['aspam'])!='fire'
甲PHP OR
與||
創建,AND
與&&
等創建所以,你的代碼示例如下所示:
if (($_POST['aspam'] != 'fire') || ($_POST['aspam'] != 'Fire'))
然而,在你的情況下,它會更好:
if (strtolower($_POST['aspam']) != 'fire')
你可以做兩個條件是這樣的:
if($_POST['aspam'] != 'fire' || $_POST['aspam'] != 'Fire')
如果我是你在這種情況下,我會這樣做:
if(strtolower($_POST['aspam']) != 'fire')
如果你想使你的變量情況下的檢查不敏感,可以使用下面的代碼
if(strtolower($_POST['aspam'])!='fire')
echo "this is matching";
或可選擇地使我的價值不 區分大小寫?
if (strtolower($_POST['aspam']) != 'fire'){
}
PHP中不同的邏輯運算符。
用於「OR」兩個管道:
$_POST['aspam'] != 'fire' || !='Fire'
這裏是所有運營商的鏈接: http://www.w3schools.com/PHP/php_operators.asp
**很多**更好的鏈接到官方文檔:http://php.net/manual/en/language.operators.logical.php –
是的,這是可能的。試試這個:
elseif($_POST['aspam'] != 'fire' || $_POST['aspam'] != 'Fire')
你可以使用不區分大小寫字符串比較:
if (strcasecmp($_POST['aspam'], 'fire') !== 0) {
print "Is ice really hotter than fire?";
}
或列表:
if (!in_array($_POST['aspam'], array('Fire','fire')) {
...
這裏最短的選項很可能是stristr
:
if (stristr($_POST["aspam"], "FIRE")) {
I t進行不區分大小寫的搜索。要使其成爲固定長度的匹配,您可能需要strcasecmp
或strncasecmp
。 (但是我發現可讀性較差,並且在你的情況下看起來不太必要。)
那簡單嗎?!輝煌,謝謝 – Liam