我想知道在if(!$db)
中使用!
的含義。如果是if($db)
(沒有感嘆號),我會理解。
我試過在Google和PHP.net上搜索它,但什麼也沒得到。請有人可以幫我嗎?
下面的代碼:
if(!$db)
die("Database not configured.");
if(!mysql_select_db("$dbname",$db))
die("No database selected.");
我想知道在if(!$db)
中使用!
的含義。如果是if($db)
(沒有感嘆號),我會理解。
我試過在Google和PHP.net上搜索它,但什麼也沒得到。請有人可以幫我嗎?
下面的代碼:
if(!$db)
die("Database not configured.");
if(!mysql_select_db("$dbname",$db))
die("No database selected.");
的!
標誌否定的表達式。沒有看到任何實際的代碼,我們只能猜測你的程序做了什麼。我懷疑你正在看的代碼試圖打開一個到數據庫的連接。如果連接失敗,表達式!$db
將爲true
($db
將評估爲false
)。這可能會提示代碼處理例外和打印錯誤聲明等。
已編輯。我插入了代碼 – Inyavic
該運算符的行爲描述爲here in the manual。
如果表達式不是TRUE,則返回TRUE,反之亦然。
在這種特殊情況下,你可以實現爲同一件事情:
mysql_connect(...) or die("Database not configured.");
mysql_select_db("$dbname",$db) or die("No database selected.");
順便說一句,你不應該使用mysql_
功能了;考慮切換到mysqli或PDO。
您需要編輯您的問題並顯示您正在討論的代碼。 –
表達式'!$ var'可以被認爲是'$ var == false'。 –
另見:[邏輯運算符](http://php.net/manual/en/language.operators.logical.php)。 –