2017-02-12 11 views
0

У меня есть переменная $name, содержащая строку, и когда я ее тестирую, я никогда не получаю ошибку «Имя должно быть от 2 до 40 символов», даже если она меньше двух символов или более чем 40. Почему?Что не так с оператором my if else

if (strlen($name) < 2 && strlen($name) > 40) { 
    $nameError = 'Name should be between 2 and 40 characters'; 
} 
+0

@TJCrowder Я думаю, что это один будет использоваться для последующих вопросов ;-) –

ответ

6

Как длина может быть меньше, чем 2 и больше, чем 40? Вы хотите || ("или"), а не && ("и").

if (strlen($name) < 2 || strlen($name) > 40) { 
// -------------------^^ 
+0

вроде как (по протоколу HTTPS [* «Вы не можете иметь свой кусок пирога и съесть слишком» *.]: // ан .wikipedia.org/вики/You_can't_have_your_cake_and_eat_it) –

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

  • Нет связанных вопросов^_^