Marlin онлайн-платформа

Условия

Как вы уже узнали, условные конструкции языка нужны для тех ситуаций, когда нам необходимо выполнить определенное действие только в том случае, если заданное условие является истинным - true. У условной конструкции так же, как и у цикла, есть оператор, условие и тело, однако выполняется её код только один раз.

Условие внутри скобок записывается в виде выражения, в котором используются такие операторы сравнения как:

  1. > - больше
  2. < - меньше
  3. >= / <= - больше или равно / меньше или равно
  4. == - равно, не путаем с оператором присвоения =
  5. === - строгое равно, сравнивает не только значения, но и их типы
  6. && - логическое И, возвращает true, когда оба выражения истинны
  7. || - логическое ИЛИ, возвращает true, когда хотя бы одно из выражений истинно. В чужом коде вы также можете встретить использование операторов AND и OR - это практически то же самое, что и && и ||
  8. ! - логическое отрицание, применяется в != - не равно, !== - строгое не равно, а также используется самостоятельно с выражением или переменной !$var - что означает, что выражение или переменная $var возвращает false


Потренируемся на примерах:

$a = 8;
$b = 2;

if($a > $b){
	echo("$a > $b");  //выполнится, потому что условие истинно
}


$a = 7;
$b = 7;

if($a == $b){
	echo("$a = $b");  //выполнится, потому что условие истинно
}

if($a != $b){
	echo("$a != $b");  //не выполнится, потому что условие ложно
}


$a = 0;

if(!$a){
	echo("$a is false"); //выполнится, потому что 0 эквивалентно false, условие истинно
}


$a = 8;
$b = 3;
$c = 5;

if( ($a > $b) || ($b > $c) ){
	echo("success");  //выполнится, условие истинно, потому что одно истинно одно из выражений
}

if( ($a > $b) && ($b > $c) ){
	echo("success");  //не выполнится, условие ложно, потому что истинны не все выражения в условии
}

Обратите внимание, при наличии большого количества операторов в выражении, лучше пользоваться скобками, чтобы обеспечить правильный порядок выполнения операций компьютером.


Также в условных конструкциях используют операторы else и else if, чтобы указать, как программе себя вести на тот случай, если условие будет ложно. Оператор else if также принимает условие, проверка которого осуществится, если первое окажется ложным. Это позволяет объединить несколько повторяющихся конструкций с if в одну.

Например, представим, что мы в магазине:

$drink= 'fanta';

if($drink== 'coca-cola') {
	echo('Buy coca-cola');  //если в магазине есть кола, покупаем её
} else if ($drink== 'sprite') {
	echo('Buy sprite');  //если колы нет, но есть спрайт, покупаем спрайт
} else {
	echo('Buy $drink');  //если нет ни колы, ни спрайта, покупаем то что есть
}

 

Задание

Решите задачи:

  1. Если переменная $a равна '1' и по значению и по типу, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном '1', 1, 3.
  2. Если переменная $a равна нулю или равна двум, то прибавьте к ней 7, иначе поделите ее на 10. Выведите новое значение переменной на экран. Проверьте работу скрипта при $a, равном 5, 0, -3, 2.
  3. Дан массив с числами, например: ['10', '20', '30', '50', '235', '3000']. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
  4. В переменной $month лежит какое-то число из интервала от 1 до 12. Определите в какую пору года попадает этот месяц (зима, лето, весна, осень).
  5. В переменной $year хранится год. Определите, является ли он високосным (в таком году есть 29 февраля). Год будет високосным в двух случаях: либо он делится на 4, но при этом не делится на 100, либо делится на 400. Так, годы 1700, 1800 и 1900 не являются високосными, так как они делятся на 100 и не делятся на 400. Годы 1600 и 2000 - високосные, так как они делятся на 400.

Дополнительная секция

Вопрос-ответ Обсуждение