2010-11-23 75 views
0

我想確定一個變量是否有任何文本。
例如,我當前的代碼是這樣的:確定變量是否有任何文本

if (is_numeric ($id)) 
{ 
    //do stuff 
} 
else 
{ 
    // do other stuff 
} 

然而,有一個問題,如果我的變量包含一個字符串和數字
如「你是93歲高齡」,
因爲它看到數字93出現並考慮變量數字。
如果變量中完全沒有文本,我希望if語句只「做東西」。

感謝

+3

該函數如何返回該字符串的真?你有沒有嘗試運行該值的代碼,你檢查正確的變量,等?您可能需要運行更多測試。 – BoltClock 2010-11-23 04:59:11

+0

對不起,我不明白你的意思。我相信這是正確的變量。另外,你的意思是什麼,它如何能夠迴歸真實? – Parker 2010-11-23 05:06:32

回答

1

嘗試鑄造值爲int(或浮動),然後比較其返回到未改變版本。他們應該匹配的值(而不是鍵入)

if((int)$id == $id) { 
} else { 
} 

另一種選擇是使用preg_match("/^([\d.\-]+)$/", $id)。這可以讓你對你讓$ id包含的字符非常具體。然而,使用正則表達式應被視爲最後的選擇(由於性能原因)

0
if(empty($var) && $var !== "0" && $var !== 0) { 
    // it's really empty, not a string "0" and not a numeric 0 
} 

你也可以檢查,如果它不是完整起見一個布爾false

相關問題