我從來沒有確定的東西是PHP中要做多少變量檢查。例如,採取以下一段代碼。我不檢查任何變量之前,我給它們或者將它們傳遞給函數來查看它們是否包含我的期望你應該做多少次變量檢查?
$carId = '12';
$aCar = fetchCar($carId);
$make = $aCar['make'];
$model = $aCar['model'];
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
現在,如果我增加一些檢查
$carId = '12';
if(is_numeric($carId))
{
$aCar = fetchCar($carId);
if(isset($aCar['make']) && is_string($aCar['make']))
{
$make = $aCar['make'];
}
else
{
//Report error
}
if(isset($aCar['model']) && is_string($aCar['model']))
{
$model = $aCar['model'];
}
else
{
//Report error
}
if(isset($aCar['year']) && is_numeric($aCar['year']))
{
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
}
else
{
//Report error
}
}
else
{
//Report errors
}
的代碼是現在更好,但是有點過度和臃腫?我應該做這麼多檢查嗎?
如果我不應該做這麼多的檢查,你在哪些方面劃定了應該和不應該檢查的內容之間的界限?
你的代碼中有一個語法錯誤,你打開你的'isset('但是不要關閉它 – MMM
取決於fetchCar()'的所有可能的返回值是什麼?考慮這一點,並進行檢查你需要確保你的腳本運行沒有錯誤 –
@MMM謝謝,我已經改變了這些 – Pattle