Время чтения ~ 20 сек. / 254 просмотра / 0 комментариев / Январь 08, 2024, 16:41

В этом уроке вы узнаете о жонглировании типами (type juggling) в PHP и о том, как оно работает.

Введение

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

Например, если вы присвоите строку переменной, ее типом будет строка:

<?php

$my_var = 'PHP'; // строка

А потом присвоите той же переменной целое число, и её тип будет целым числом:

<?php

$my_var = 'PHP'; // строка
$my_var = 100; // целое число

PHP имеет внутреннюю функцию под названием "жонглирование типами" (type juggling). Это означает, что при сравнении переменных разных типов, PHP преобразует их в общий, сопоставимый тип. Например:

<?php
$qty = 20;
if($qty == '20') {
    echo 'Переменная равна 20';
}

Вывод:

Переменная равна 20

Из-за жонглирования типами PHP преобразовывает строку '20' в целое число (20) и сравнивает его с переменной $qty. Результат true. Таким образом, вы увидите сообщение "Переменная равна 20" в выводе.

Жонглирование типами также работает в арифметических операциях для переменных разных типов. В следующем примере показано, как жонглирование типами работает в арифметической операции:

<?php

$total = 100;
$qty = "20";
$total = $total + $qty;

echo $total; // 120

Тип $total — целое число, тогда как $qty — строка. Чтобы вычислить сумму, PHP сначала преобразует значение переменной $qty в целое число. Результатом является целое число.

Рассмотрим следующий пример:

<?php

$total = 100;
$qty = "20 штук";
$total = $total + $qty;

echo $total; // 120

В этом примере PHP преобразует строку "20 штук" как целое число 20 перед вычислением суммы.

Подытожим

  • PHP является языком с динамической типизацией. Тип переменной в PHP определяется на основе её значения.
  • При сравнении значений разных типов, PHP неявно преобразует их к одному сравнимому типу.
Теги:
php
Приведение типов - PHP
Операторы - PHP
Операторы сравнения - PHP
Январь 10, 2024, 17:48
В этом уроке вы узнаете, как использовать операторы сравнения в PHP для сравнения двух значений.
Тернарный оператор - PHP
Январь 14, 2024, 17:39
В этом уроке вы узнаете, как использовать тернарный оператор в PHP для сокращения кода и улучшения его читаемости.
Язык разметки Markdown с примерами
Декабрь 18, 2023, 20:55
Примеры использования языка разметки Markdown.
Оператор ИЛИ (OR) - PHP
Январь 11, 2024, 13:37
В этом уроке вы узнаете о логическом операторе ИЛИ (OR) (||) в PHP и о том, как его использовать для создания сложных логических выражений.
Оператор НЕ (NOT) - PHP
Январь 11, 2024, 17:05
В этом уроке вы узнаете, как использовать логический оператор отрицания НЕ (NOT) (!) в PHP для создания сложных логических выражений.