Приведение к целому числу строки в PHP (int)

Иногда данные приходят так, что числовое значение в виде строкового, а с ним необходимо произвести математическую операцию или еще что-то сделать, но в итоге нужно чтобы это было целое число. В PHP достаточно просто это сделать, при помощи функции (int). Ниже пример кода, где строка «100» приводится к числу:

<?php
// объявляем переменную с строковым значением 100
$var = "100";

echo var_dump($var);

// Приводим к числу
$var = (int)$var;

echo var_dump($var);

?>

В результате мы получим такой вывод:

string(3) "100"

int(100)

Данная функция работает с целыми числами, если строка будет например такая: «100,99» то что будет после точки или запятой, будет обрезано и мы опять же получим 100, ниже пример и результат. Чтобы получить из строки, число с плавающей точкой, необходимо использовать функцию floatval()

// объявляем переменную с строковым значением 100,99
$var = "100,99";

echo var_dump($var);

// Приводим к числу
$var = (int)$var;

echo var_dump($var);

Теперь результат будет таким:

string(6) "100,99"

int(100)

Данную функцию также можно применить, если строка начинается с цифр и содержит в себе строчные символы, пример:

// объявляем переменную с строковым значением 100 Попугаев
$var = "100 Попугаев";

echo var_dump($var);

// Приводим к числу
$var = (int)$var;

echo var_dump($var);

Результат:

string(20) "100 Попугаев"

int(100)

То есть, все что после числа также обрезается и приводится в итоге к числу.

Тут все ясно, но что будет, если строка просто содержит символы, но начинается не с цифр. Пример:

// объявляем переменную с строковым значением На корабле 100 Попугаев
$var = "На корабле 100 Попугаев";

echo var_dump($var);

// Приводим к числу
$var = (int)$var;

echo var_dump($var);

Результат:

string(40) "На корабле 100 Попугаев"

int(0)

В итоге, мы не получим приведения к числу.

Добавить комментарий

Ваш адрес email не будет опубликован.