Логический тип

Кроме арифметических операций со школы нам известны операции сравнения. Например, 5 > 4. Это звучит как вопрос: «5 больше 4?». В данном случае ответ «да». В других случаях ответом может быть «нет» (например, для 3 < 1).

Список операций сравнения:

  • < меньше
  • <= меньше или равно
  • > больше
  • >= больше или равно
  • === равно
  • !== не равно

(Небольшая ремарка: для равенства и неравенства также существуют операторы == и !=, которые мы не будем использовать из-за потенциальной опасности. Мы поговорим об этом в будущих уроках).

Эти операции применимы не только к числам. Например, с помощью оператора равенства можно сравнить строки: $password === $text — это сравнение идентичности строк, записанных в разных переменных.

Логическая операция типа 5 > 4 или $password === $text — это выражение, и его результат — специальное значение true («истина») или false («ложь»). Это новый для нас тип данных — bool.

Наряду со строками (string) и целыми и рациональными числами, тип bool (булеан) — это один из примитивных типов данных в PHP.


Попробуем написать примитивную функцию, которая принимает на вход возраст ребенка и определяет, младенец ли он. Младенцами считаются дети до года:

<?php

function isInfant($age)
{
    return $age < 1;
}

Пользуемся тем фактом, что любая операция — это выражение, поэтому единственной строчкой функции пишем «вернуть то значение, которое получится в результате сравнения $age < 1».

В зависимости от пришедшего аргумента, сравнение будет либо истинным (true) либо ложным (false), и return вернёт этот результат.

Вызовем функцию и выведем на экран результат. Для вывода bool нужно использовать var_dump, а не print_r:

<?php

function isInfant($age)
{
    return $age < 1;
}

var_dump(isInfant(3));
bool(false)

А теперь проверим ребенка, которому полгода:

var_dump(isInfant(0.5));
bool(true)

Задание

Напишите функцию isPensioner, которая принимает возраст в качестве единственного аргумента и проверяет, является ли этот возраст пенсионным. Пенсионным считается возвраст 60 лет и больше.


Определения
  • Логический тип (bool) — тип данных с двумя возможными значениями: true (истина) и false (ложь).

Exercise available only for signed users