Kennt jemand eine "bessere/sauberer/schneller" Möglichkeit, dies zu schreiben? Ich muss es für 29 verschiedene Marken (Acura, Honda, Toyota, usw.) tun, aber jede Marke hat ihre eigene spezifische Garantie Länge in Meilen und Zeit.Was ist eine bessere Möglichkeit, Informationen in einem Array nachzuschlagen?
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;
}
Etwas stimmt nicht! Ich eingegeben in allen korrekten Daten, aber eine Störung erhalte: "Warnung: Invalid argument für foreach geliefert() in carcityofdanbury.com/New/vehicle.php on line 331"
$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;
}
würde '$ warr_Man' falsch sein, wenn nur eine Marke den Test nicht besteht? Woher kommen die Daten? – Jeff
Ja. \t \t} sonst { \t \t \t $ warr_Man = FALSCH; \t \t} –
Zeit, um die Magie von Arrays oder Datenbanken zu lernen. – bassxzero