Приведение типов - PHP
В этом уроке вы узнаете о приведении типов в PHP, которое позволяет преобразовывать значение одного типа в другой.
Введение
Приведение типов позволяет преобразовать значение одного типа в другой. Чтобы преобразовать значение, используйте следующие операторы приведения типов:
Операторы приведения | Преобразование |
---|---|
(array) | Array |
(bool) or (boolean) | Boolean |
(int) or (integer) | Integer |
(object) | Object |
(real), (double), or (float) | Float |
(string) | String |
Давайте рассмотрим несколько примеров использования операторов приведения типов.
Приведение к целому числу
Чтобы привести значение к целому числу, используйте оператор приведения типа (int)
.
Оператор (int)
преобразует число с плавающей точкой в целое число. Результат округляется в сторону нуля. Например:
<?php
echo (int)12.5 . '<br>'; // 12
echo (int)12.1 . '<br>'; // 12
echo (int)12.9 . '<br>'; // 12
echo (int)-12.9 . '<br>'; // -12
Допустим, у вас есть строка и вы хотите преобразовать ее в целое число:
<?php
$message = 'Hi';
$num = (int) $message;
echo $num; // 0
Результат может оказаться не таким, как вы ожидали.
Если строка является числовой или ведущей числовой, то (int)
приведет ее к соответствующему целочисленному значению. В противном случае (int)
приводит строку к нулю. Например:
<?php
$amount = (int)'100 USD';
echo $amount; // 100
В этом примере оператор (int)
преобразует строку '100 USD'
в целое число.
Обратите внимание, что оператор (int)
преобразует значение null
в ноль (0). Например:
<?php
$qty = null;
echo (int)$qty; // 0
Приведение к числу с плавающей точкой
Чтобы преобразовать значение в число с плавающей точкой, используйте оператор (float)
. Например:
<?php
$amount = (float)100;
echo $amount; // 100
Приведение к строке
Чтобы привести значение к строке, используйте оператор (string)
.
В следующем примере оператор (string)
используется для преобразования числа 100 в строку:
<?php
$amount = 100;
echo (string)$amount . " USD"; // 100 USD
В этом случае вам не нужно использовать оператор (string)
, поскольку в PHP есть функция, называемая типовое приведение (type juggling), которая неявно преобразует целое число в строку:
<?php
$amount = 100;
echo $amount . ' USD'; // 100 USD
Оператор (string)
преобразует истинное значение в строку "1"
, а значение false
в пустую строку (""). Например:
<?php
$is_user_logged_in = true;
echo (string)$is_user_logged_in; // 1
Вывод:
1
Оператор (string)
преобразует значение null
в пустую строку.
(string)
преобразует массив в строку "Array"
. Например:
<?php
$numbers = [1,2,3];
$str = (string) $numbers;
echo $str; // Array
И вы получите предупреждение о том, что пытаетесь преобразовать массив в строку.
Warning: Array to string conversion in ...
Подытожим
- Приведение типов в PHP позволяет преобразовать значение из одного типа в другой.
- Используйте оператор приведения типов, чтобы привести значение к нужному типу.
if...else
в PHP, которая выполняет блок кода, когда условие истинно, и другой блок кода, когда условие ложно.