good_br
@good_br
учусь

Почему возникает ошибка в синтаксисе?

Посмогите с кодом! У меня почему то интерпретатор ругается на последнее выражение elseif ($z < -1);
в чем проблема не могу понять?
<?php
$a=4;
$b=10;
$z= $a*$b;
if ($a && $b > -1) 
	echo $a-$b;

elseif ($a && $b < 0);
		echo $a * $b;
		
 elseif ($z < -1);
echo $a+$b;	 	
		   


?>
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
$a=4;
$b=10;
$z= $a*$b;

if ($a && $b > -1) { 
    echo $a-$b;
}
elseif ($a && $b < 0) {
    echo $a * $b;
}    
elseif ($z < -1) {
    echo $a+$b;
}

20170726-054354.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@TexElless
Backend-разработчик(преимущественно PHP и Symfony)
Скобки это конечно правильно, но "магия" не в них, изначальная проблема в том, что стоят лишние точки с запятой.
Ваш вариант парсер понимал как:
$a=4;
$b=10;
$z= $a*$b;
if ($a && $b > -1) {
  echo $a-$b;
} elseif ($a && $b < 0) {};
echo $a * $b; // уже выполнится без условия
elseif ($z < -1) {}; // соответственно уже вообще не относится к предыдущему if'у
echo $a+$b;


Поэтому скобки и надо ставить, с ними нагляднее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы