2012-05-16 3 views
0

У меня возникли некоторые проблемы с этим утверждением,PHP, если/другое заявление вопрос

<?php 
    $cert_mess = $vehicle['make']; 
    if ($vehicle["make"] == "Honda" && $vehicle["Certified"] == "0") { 
     $cert_mess = "DFWCertAutos"; 
    } 
    elseif ($vehicle["make"] == "Cadillac" && $vehicle["Certified"] == "0") { 
     $cert_mess = "DFWCertAutos"; 
    } 
    elseif (!in_array($vehicle['make'], array('Cadillac','Honda'))) { 
     $cert_mess = "DFWCertAutos"; 
    } 
?> 
<div style="font-size:10px; padding:10px; padding-top: 0px;">*This car is <?php 
echo $cert_mess ?> certified.</div> 

Любые предложения? в настоящее время он просто отображает $cert_mess как «make» и игнорирует инструкции if/else if.

+1

Вероятно, ни один из ваших, если заявления не выполнить из-за плохой логики? Вы даже пытались его отладить? –

+0

Что вы вводите? 'var_dump ($ vehicle)' –

+1

Вы уверены, что '$ vehicle ['make']' установлен в beginnig? – Hindol

ответ

1

Более простой код может быть следующим:

$cert_mess = $vehicle['make']; 
if (($vehicle["make"] == "Honda" && $vehicle["Certified"] == "0") 
    || ($vehicle["make"] == "Cadillac" && $vehicle["Certified"] == "0") 
    || !in_array($vehicle['make'], array('Cadillac','Honda')) 
) { 
    $cert_mess = "DFWCertAutos"; 
} 
1

Simpler еще:

$cert_mess = $vehicle['make']; 
if (!in_array($vehicle['make'], array('Cadillac', 'Honda')) || $vehicle['certified'] == '0') 
{ 
    $cert_mess = 'DFWCertAutos'; 
} 
+0

Спасибо! Это работает, и теперь намного чище. –

Смежные вопросы