有沒有人知道「更好/更清潔/更快」的方式來寫這個?我必須爲29個不同品牌(謳歌,本田,豐田等)做到這一點,但每個品牌都有自己的特定保修長度,以英里和時間爲單位。什麼是查找數組中信息的更好方法?
if ($row['make'] == "Acura" && $row['mileage'] <= "70000" && date("Y")-6 < $year) {
$warr_Man = TRUE;
} elseif ($row['make'] == "Audi" && $row['mileage'] <= "50000" && date("Y")-5 < $year) {
$warr_Man = TRUE;
}
有什麼不對!我在所有正確的數據輸入,但我得到一個錯誤:「:在carcityofdanbury.com/New/vehicle.php線331的foreach(提供了無效參數)警告」
$make = row['make'];
$year = $row['year'];
$mileage = row['mileage'];
$arr=[
['make' => Acura, 'mileage' => 70000, 'date' => 6],
['make' => Audi, 'mileage' => 50000, 'date' => 5],
['make' => BMW, 'mileage' => 50000, 'date' => 4],
['make' => Buick, 'mileage' => 60000, 'date' => 5],
['make' => Cadillac, 'mileage' => 60000, 'date' => 5],
['make' => Chevrolet, 'mileage' => 60000, 'date' => 5],
['make' => Chrysler, 'mileage' => 36000, 'date' => 3],
['make' => Dodge, 'mileage' => 36000, 'date' => 3],
['make' => Ford, 'mileage' => 60000, 'date' => 5],
['make' => GMC, 'mileage' => 60000, 'date' => 5],
['make' => Honda, 'mileage' => 60000, 'date' => 5],
['make' => Hummer, 'mileage' => 60000, 'date' => 5],
['make' => Hyundai, 'mileage' => 50000, 'date' => 5],
['make' => Infiniti, 'mileage' => 70000, 'date' => 6],
['make' => Isuzu, 'mileage' => 75000, 'date' => 7],
['make' => Jaguar, 'mileage' => 50000, 'date' => 4],
['make' => Jeep, 'mileage' => 36000, 'date' => 3],
['make' => Kia, 'mileage' => 75000, 'date' => 5],
['make' => Land Rover, 'mileage' => 50000, 'date' => 4],
['make' => Lexus, 'mileage' => 70000, 'date' => 6],
['make' => Lincoln, 'mileage' => 70000, 'date' => 6],
['make' => Mazda, 'mileage' => 50000, 'date' => 4],
['make' => Mercedes-Benz, 'mileage' => 50000, 'date' => 4],
['make' => Mercury, 'mileage' => 60000, 'date' => 5],
['make' => Mini, 'mileage' => 50000, 'date' => 4],
['make' => Mitsubishi, 'mileage' => 100000, 'date' => 10],
['make' => Nissan, 'mileage' => 60000, 'date' => 5],
['make' => Porsche, 'mileage' => 50000, 'date' => 4],
['make' => Scion, 'mileage' => 60000, 'date' => 5],
['make' => Subaru, 'mileage' => 60000, 'date' => 5],
['make' => Suzuki, 'mileage' => 100000, 'date' => 7],
['make' => Mercury, 'mileage' => 60000, 'date' => 5],
['make' => Toyota, 'mileage' => 60000, 'date' => 5],
['make' => Volkswagen, 'mileage' => 60000, 'date' => 5],
['make' => Volvo, 'mileage' => 50000, 'date' => 4],
];
$warr_Man = false;
foreach($rows as $row) {
foreach($arr as $v) {
$warr_Man = ($make == $v['make'] && $mileage <= $v['mileage'] && date("Y")-$v['date'] < $year) ? true : false;
if($warr_Man) //if matches break.
break;
}
if(!$warr_Man) //if one row not pass then break.
break;
}
如果只有一個品牌未通過測試,'$ warr_Man'是否將爲false?數據來自哪裏? – Jeff
是的。 \t \t} else { \t \t \t $ warr_Man = FALSE; \t \t} –
有時間學習數組或數據庫的魔力。 – bassxzero