2012-11-05 65 views
-2

我有這個代碼檢查一個字符串是否是藍色的。 我希望它可以批准它,不管它在任何字母中是低位還是大寫。檢查一個字符串,而不考慮case結構

if(($subcol !== 'blue') || ($subcol !== 'Blue') || ($subcol !== 'BLUE') ) { 
    $form->setError($field, "* Colour not correct, use the hint"); 
} 

這似乎不工作? 我是否有錯誤?

此外,是否有一個PHP函數,可以使用,只會檢查一次所有這些情況?

感謝

+2

*「如果不是‘藍色’OR NOT‘藍’或不...」 *它不能被*所有的*它,這些條件使至少一個總是正確的。 – deceze

+0

這是我在一段時間未使用操作員時犯的一個錯誤。他們應該&&不||。感謝芽。 – sark9012

回答

2

您可以使用:

if (strcasecmp($subcol, 'blue') === 0) { 

這是blueBLUEBluebLue真等

+0

這正是我以後的功能!我只是不記得它被稱爲或找到一個有效的谷歌搜索! – sark9012

0

或..

使用本strtoupper

if ('BLUE' == strtoupper($subcol)) .... 
+0

'toupper'?真的 – Baba

+0

@Baba - 它會將所有的字符轉換爲大寫。因此,如果您正在比較大寫和小寫字符的任何組合,則比較將起作用。我還想補充說,如果您需要與前面的代碼中的其他顏色進行比較,這可能是一次性事件。 –

+0

'if('BLUE'=== strtoupper($ subcol))'更準確。你當然也可以使用'strtolower'。 – Halcyon

相關問題