2016-08-26 3 views
-1

Я пытаюсь сравнить значение, введенное пользователем ($b), с другим значением, которое извлекается из моих таблиц базы данных ($a).Новое значение должно быть большим и отличным

В теории нижеприведенный код должен получить ошибку 1, но это не так. Не могли бы вы помочь мне понять, что я делаю неправильно?

{$a=array('54607'); 
$b=array('54606'); 

if($a < $b){ 
    echo "error 1"; 
}elseif($a == $b){ 
    echo "error 2"; 
}else{ 
    echo "TRUE"; 
} 

P.S. Я новичок в PHP, поэтому, пожалуйста, будьте осторожны и извините заранее за любые глупые вопросы, которые у меня могут быть.

+0

Почему вы должны использовать их в качестве массивов? не могут ли они быть простыми переменными? –

+0

Да, это также может быть простая переменная. Я пробовал ваши примеры ниже, и они все еще дают «TRUE», но, как вы можете видеть, $ b меньше, чем $ a, поэтому мне нужно иметь ошибку 1. – Mariana

+0

Пожалуйста, проверьте свое состояние. Он печатает TRUE, когда ни одно из условий не следует. a не меньше, чем b, равно как и b. Так что дело доходит до состояния else и печатает TRUE –

ответ

0
$a=54607; 
$b=54606; 

if($a < $b){echo "error 1"; 
}elseif($a == $b){echo "error 2"; 
}else{echo "TRUE";} 
1

Если вы готовы напечатать Ошибка 1 измените ваше состояние на a> b.

Вы должны удалить эти записи и определить их как простые переменные.

$a = 54607; 
$b = 54606; 

if ($a > $b) { 
    echo "error 1"; 
} elseif($a == $b) { 
    echo "error 2"; 
} else { 
    echo "TRUE"; 
} 

В случае это должно быть сделано массивы, использовать текущую функцию():

$a = array('54607'); 
$b = array('54606'); 
if (current($a) > current($b)) { 
    echo "error 1"; 
} elseif(current($a) == current($b)) { 
    echo "error 2"; 
} else { 
    echo "TRUE"; 
} 
Смежные вопросы