請看如下程式碼
$app_name=$request->input('app_name',0);
if($app_name=='MyName'){
echo 'true';
}else{
return 'false';
}
輸出結果
結果為 true
分析
我們可能會覺得奇怪,明明這兩個不相等,為什麼會輸出 true呢,這裡這段程式碼犯了一個低階錯誤,當app_name 引數不傳遞的時候,那麼預設的app_name變數值為0.
php中數字和字串進行比較時,當這個字串是一個無法轉換為數字的字串,它就會被強制轉化為數字,結果總是為0,所以我們就知道了原因了。
本作品採用《CC 協議》,轉載必須註明作者和本文連結