在一個HTML文件調用PHP代碼控制檯顯示當執行PHP代碼如下結果:的意外行爲如果在PHP代碼語句
PHP處理:調試3:測試IF:在IF
PHP處理:調試4:假
不過,我期望的第一個控制檯結果是php processing: debug 3: TEST IF: in ELSE
。例如,根據控制檯,if-else語句的錯誤部分(if)被執行,我不明白爲什麼(對於這個非常簡單的代碼)?
有什麼建議嗎?
PHP代碼:
//TEST CODE
if($productselected_form[0] == true)
{
$response_array['debug3'] = 'TEST IF: in IF';
}
else
{
$response_array['debug3'] = 'TEST IF: in ELSE';
}
$response_array['debug4'] = $productselected_form[0];
//send the response back
echo json_encode($response_array);
//END TEST CODE
Javascript代碼(在執行console.log Ajax調用PHP代碼):
console.log("php processing: debug 3: "+msg.debug3);
console.log("php processing: debug 4: "+msg.debug4);
有啥'$ productselected_form [0]'的價值,還是應該只是猜測? –
'$ productselected_form'包含什麼? – Neal
做一個'var_dump($ productselected_form [0])'看看你測試的是什麼。由於您使用簡單的'=='相等性測試,所以PHP可以根據需要自由地進行類型轉換/轉換,而且很多東西會測試等於'true'。 –