После авторизации Вы получите доступ к файлам, скрытым материалам сайта, исходным кодам
возможность комментировать и т.д.

Вы можете авторизоваться на сайте всего одним кликом:

2016-06-18
Основы PHP → Преобразования типов
PHP, Преобразование, Конвертация, Преведение типов,

Преобразование типов используется для того, чтобы указать интерпретатору на необходимость работать со значением переменной одного типа так, как если бы она имела другой тип.

Что такое преобразование и как оно работает?

Преобразование необходимо во многих случаях, к примеру, когда мы хотим работать с числами, которые ввел пользователь в форму на сайте (изначально они являются строкой, т.е. имеют тип string), для этого нам необходимо привести их к числовой форме. 

Оператор преобразования типа — это имя типа, заключенное
в круглые скобки:
  1. (string) — строка;
  2. (integer) — целое число;
  3. (double) — число с плавающей точкой;
  4. (boolean) — булева переменная ( true / false ).
  5. (unset) — приведение к NULL (0)
У некоторых есть также сокращенные версии:
  1. (int) — сокращение (integer) ;
  2. (bool) — сокращение (boolean) .
Пример использования приведен ниже:
<?php
$a = "432.123";
echo (int)$a;
?>

Этот код выведет "432", потому что переменная $a будет восприниматься как целое число (с типом int), а дробная часть будет отброшена.
В PHP преобразование типов используется довольно редко, однако о такой возможности не следует забывать.

Преобразование в строку

Значение может быть преобразовано в строку, с помощью приведения (string), либо функции strval(). В выражениях, где необходима строка, преобразование происходит автоматически. Это происходит, когда вы используете функции echo или print, либо когда значение переменной сравнивается со строкой.

<?php
$var = 20 + 5;
echo strval($var); // Выведет 25
?>

Преобразование строк в числа

Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль). Верное числовое значение - это одна или более цифр (могущих содержать десятичную точку), по желанию предваренных знаком, с последующим необязательным показателем степени. Показатель степени - это 'e' или 'E' с последующими одной или более цифрами.

<?php
$var = 1 + "10.5";                // Тип и его значение: float (11.5)
$var = 1 + "-1.3e3";              // Тип и его значение: float (-1299)
$var = 1 + "bob-1.3e3";           // Тип и его значение: integer (1)
$var = 1 + "bob3";                // Тип и его значение: integer (1)
$var = 1 + "10 Small Pigs";       // Тип и его значение: integer (11)
$var = 4 + "10.2 Little Piggies"; // Тип и его значение: float (14.2)
$var = "10.0 pigs " + 1;          // Тип и его значение: float (11)
$var = "10.0 pigs " + 1.0;        // Тип и его значение: float (11)
?>

Преобразование в целое число

Для явного преобразования в integer, используйте приведение (int) или (integer). Однако, в большинстве случаев, в приведении типа нет необходимости, так как значение будет автоматически преобразовано, если оператор, функция или управляющая структура требует аргумент типа integer. Значение также может быть преобразовано в integer с помощью функции intval().

<?php
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
?>

Bool и String

Значение boolean TRUE преобразуется в строку "1", а значение FALSE преобразуется в "" (пустую строку). Это позволяет преобразовывать значения в обе стороны - из булева типа в строковый и наоборот.

<?php
//Таким образом можно проверять, пустая ли строка
$var = "My text";
$var1 = "";

echo (bool) $var;         //Выведет 1
echo (bool) $var1;       //Выведет 0 или ничего
?>
804
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока