2012-07-29 43 views
0

我需要能夠檢查一個變量是否包含字符串的第一部分。例如,「foobaz xy」。 「foobaz xy」之後的所有內容都可以忽略。這也必須不區分大小寫,並且foobaz和xy之間必須有空格。 PHP中是否已經有了一個內置的函數來處理這個問題,或者是一個需要這樣做的正則表達式?最後,並非最不重要,如果多個方法具有更快的執行時間?謝謝!在PHP中,我應該使用正則表達式來匹配這個還是其他的東西?

回答

3

它沒有內置的功能,但有一個小的解決方法可以實現同樣的事情。請檢查下面的例子:

$string = "foobaz xyewew"; 
if (stripos($string, "foobaz xy") === 0) { 
    echo "It starts with foobaz xy"; 
} 
+0

我還是新來的,但如果我能的話,我會投票贊成!非常感謝你的幫助。我能夠使用這些代碼並從中創建一個小函數,它返回TRUE或FALSE。這將幫助我完成我的程序並使其更簡單! – 2012-07-29 12:52:47

0

至於不區分大小寫的問題,您可以將新的字符串複製到另一個和它轉換成小寫,這將使它不區分大小寫。如果b小於foobaz xy,那麼所有你需要做的就是取一個字符串b的子字符串,它總是foobaz xy的大小,因此,如果b小於foobaz xy在人物數量上,它會自動打折。如果沒有,那麼你需要將子串與常量字符串A進行比較,這將解決問題。

see php substring here:

see strcmp here to compare the substring and your string see here to convert a string into all lowercase

0

的最快方法來檢查:

$variable = "FooBaz xy test string"; 
$isContain = strpos(strlower($variable, "foobaz xy")) === 0; 
+0

@invisal解決方案更好,忘記了stripos功能 – lisachenko 2012-07-29 12:21:02

0

第一個答案是正確的,更多信息的http://www.php.net/manual/en/function.stripos.php。請記住,在簡單字符串檢查中使用正則表達式是一種不好的做法。

+0

謝謝。我有一種感覺,這不是一個好主意,這就是爲什麼我張貼要問,我很高興我做到了! – 2012-07-29 12:51:23

相關問題