這不等於嗎?PHP:這些語句是否相同? (file_exists())
==腳本==
if (file_exists($file) == false) {
return false;
}
==腳本B ==
if(!file_exists($file)) {
return false;
}
這不等於嗎?PHP:這些語句是否相同? (file_exists())
==腳本==
if (file_exists($file) == false) {
return false;
}
==腳本B ==
if(!file_exists($file)) {
return false;
}
平原答案:Ÿ(E S)
他們評價同一件事。
這第一個可能是更好的適合這樣的:
if (file_exists($file) === false) { // === checks type and value
return false;
}
OR:
return file_exists($file);
是,file_exists返回一個布爾值,所以它的真或假。使用===
操作,以確保
if (file_exists($file) === false) {
return false;
}
:
,所以你可以返回file_exists($文件),以及...
如果您正在布爾比較,那麼你寧願做這個您收到的是布爾型和相當於false的變量。
好點,但在這種情況下不相關,因爲file_exists只返回一個布爾開頭。 – 2011-05-17 21:52:30
是的。
但是如果你會使用:
if (file_exists($file) === false) {
return false;
}
那就不一樣:
if(!file_exists($file)) {
return false;
}
,因爲在第一種情況下,將檢查由函數的返回值是否匹配嚴格到false
,在第二種情況下,函數返回的值將是,將評估爲布爾值。
編輯:
也就是說一般規則。
但在file_exists()
函數,返回布爾值,評估布爾的情況下是沒有必要的,因此,你可以使用嚴格的條件,這將有同樣的結果(但只有在情況下,你知道值將是要麼true
或false
如果你問「什麼是===與==操作符之間的區別」,那麼:
「===」是一個比較嚴格,檢查各類兩側。 '=='是一個'相當於'的比較運算符,可以將任意一邊投射到相應的typ如果認爲有必要。
要展開,'=='可用於檢查'falsey'值,'==='可用於檢查完全匹配。
if (1 == TRUE) echo 'test';
>> "test"
if (1 === TRUE) echo 'test';
>>
如果你問,如果有你的兩個代碼塊之間的任何功能性/實用性差則沒有,有沒有,你應該返回這樣:return file_exists($file);
值得一讀: http://php.net/manual/en/language.operators.comparison.php
他們是。有什麼問題? – 2011-05-17 21:47:32