這是絕對的瘋狂。我今天正在測試一個帖子變量,應該總是評估一個字符。示例代碼是...PHP認爲P == 0
if($_POST['status'] == '' || $_POST['status'] == 0){ die('oh no!'); }
如果我通過P的狀態,這是執行模具聲明。然後,我創建了下面的代碼的PHP文件...
echo 'P1: '.intval($_POST['status']=='').'<br />';
echo 'P2: '.intval($_POST['status']==0).'<br />';
echo 'P3: '.intval('P'==0).'<br />';
你猜怎麼着? P2 & P3都評估爲TRUE。 intval只是在P1上顯示0而不是任何內容。
這是PHP的一個已知的錯誤?這只是在我正在運行的版本上被破壞的東西?坦率地說,我完全喪失了爲什麼這樣做。它使用triple equals正確評估,但不是double。 P絕對不會在我的書不等於0 ...
'在我的書中'P肯定不等於0'改變這本書,對於PHP而言。它是已知的功能,而不是bug。 –
認真嗎?記錄在哪裏?你有源代碼鏈接嗎? [PHP == VS ===操作]的 – GameCharmer
可能重複(http://stackoverflow.com/questions/589549/php-vs-operator) – dm03514