哪個是更好的,當我[「的東西在這裏」]使用_GET一個變量來檢查它是否是空的或不我應該使用null來查看PHP中的變量是否爲空?
if (isset($_GET['url']) != '') {
//do stuff with it
}
OR
if (isset($_GET['url']) != NULL) {
//do stuff with it
}
「」或空或別的東西使用?
請不要把這種過度優化或微優化,我只是在尋找最好的做法,謝謝
哪個是更好的,當我[「的東西在這裏」]使用_GET一個變量來檢查它是否是空的或不我應該使用null來查看PHP中的變量是否爲空?
if (isset($_GET['url']) != '') {
//do stuff with it
}
OR
if (isset($_GET['url']) != NULL) {
//do stuff with it
}
「」或空或別的東西使用?
請不要把這種過度優化或微優化,我只是在尋找最好的做法,謝謝
你應該做到以下幾點,以確保該值都存在,並且不爲空
if(isset($_POST[myField]) && $_POST[myField] != "") {
Do my PHP code
}
這是我過去使用過的,但後來我看到有人像if(isset($ something))那樣做,並且我運行它並且它工作,所以我認爲它很好,我猜我應該執行2次檢查 – JasonDavis 2010-01-07 01:57:05
使用空() - 它的變量的實際首測測試的東西是否在它之前存在。
[編輯:isset()函數只返回TRUE或FALSE,所以無論上述工作的發言同樣]
在調試空白/缺失/空值檢查時,PHP可能會有點痛苦。您可以使用empty()
或isset()
,但請記住empty
返回true的情況。它與所考慮的empty高度自由。
Returns FALSE if var has a non-empty and non-zero value. The following things are considered to be empty: "" (an empty string) 0 (0 as an integer) "0" (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class)
isset
是,它僅檢查變量的存在和NULL值較爲保守。從documentation:
Returns TRUE if var exists and has value other than NULL, FALSE otherwise.
請注意:'isset()'返回一個布爾值,所以它返回true或false,但永遠不會''或NULL。所以你的兩個例子都是錯的。 – Frunsi 2010-01-07 01:52:25
@frunsi如果他們都是錯誤的,你可以幫助它正確嗎? – JasonDavis 2010-01-07 02:25:04