Базовый курс PHP — Переменные с логическим типом (bool)

  • Начинающий
  • 23 мин
  • 6 примеров
  • 4 задания
  • 21.10.2026
  • 0

Что значит переменные с типом данных bool?

Переменные с типом данных bool (сокращение от boolean) могут содержать только два значения: true (истина) или false (ложь).

Этот тип данных используется для хранения логических значений: да/нет, включено/выключено, правда/ложь.

Значения true и false записываются без кавычек.

Для просмотра значения переменной типа bool удобно использовать функцию var_dump(), которая выводит тип и значение переменной.

Пример кода PHP #1
<?php

$isActive = true;
$isBlocked = false;

var_dump($isActive);  // bool(true)
var_dump($isBlocked); // bool(false)

echo $isActive;  // 1
echo PHP_EOL;
echo $isBlocked; // (пустая строка)
Результат
bool(true)
bool(false)
1

Как операторы сравнения возвращают bool?

Операторы сравнения всегда возвращают значение типа bool:
== — равно
!= — не равно
> — больше
< — меньше
>= — больше или равно
<= — меньше или равно

Пример кода PHP #2
<?php

$a = 10;
$b = 5;

var_dump($a > $b);   // bool(true) - 10 больше 5
var_dump($a < $b);   // bool(false) - 10 не меньше 5
var_dump($a == $b);  // bool(false) - 10 не равно 5
var_dump($a != $b);  // bool(true) - 10 не равно 5
var_dump($a >= 10);  // bool(true) - 10 больше или равно 10
Результат
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)
Пример кода PHP #3
<?php

$x = 10;
$y = 10;

$isEqual = ($x == $y);
$isGreater = ($x > $y);

var_dump($isEqual);   // bool(true)
var_dump($isGreater); // bool(false)
Результат
bool(true)
bool(false)

Какие логические операторы существуют?

Логические операторы позволяют комбинировать несколько условий:
&& — логическое И (оба условия должны быть true)
|| — логическое ИЛИ (хотя бы одно условие должно быть true)
! — логическое НЕ (инвертирует значение)

Пример кода PHP #4
<?php

$a = true;
$b = false;

// Логическое И (&&) - оба должны быть true
var_dump($a && $a);  // bool(true)
var_dump($a && $b);  // bool(false)

// Логическое ИЛИ (||) - хотя бы одно true
var_dump($a || $b);  // bool(true)
var_dump($b || $b);  // bool(false)

// Логическое НЕ (!) - инвертирует значение
var_dump(!$a);       // bool(false)
var_dump(!$b);       // bool(true)
Результат
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)
bool(true)

Какие значения считаются true и false?

В PHP любое значение можно привести к типу bool. Следующие значения считаются false:

  • false — само значение
  • 0 — целое число ноль
  • 0.0 — дробное число ноль
  • '' — пустая строка
  • '0' — строка с нулём
  • null — значение null
  • [] — пустой массив (о массивах — в одном из следующих уроков)

Все остальные значения считаются true.

Пример кода PHP #5
<?php

// Значения, которые считаются false
var_dump((bool) 0);    // bool(false)
var_dump((bool) 0.0);  // bool(false)
var_dump((bool) '');   // bool(false)
var_dump((bool) '0');  // bool(false)
var_dump((bool) null); // bool(false)
var_dump((bool) []);   // bool(false)

// Значения, которые считаются true
var_dump((bool) 1);       // bool(true)
var_dump((bool) -1);      // bool(true)
var_dump((bool) 'текст'); // bool(true)
var_dump((bool) 3.14);    // bool(true)
Результат
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Как использовать bool с функцией gettype()?

Функция gettype() показывает тип переменной. Для значений true и false она вернёт строку boolean.

Пример кода PHP #6
<?php

$isOnline = true;
$isOffline = false;
$number = 42;
$text = 'Привет';

echo gettype($isOnline) . PHP_EOL;  // boolean
echo gettype($isOffline) . PHP_EOL; // boolean
echo gettype($number) . PHP_EOL;    // integer
echo gettype($text);                // string
Результат
boolean
boolean
integer
string