Php string для int
$a = '88';
$b = '88 8888';
echo (int)$a;
echo (int)$b;
как и ожидалось, оба дают 88. Кто-нибудь знает, есть ли строка для функции int, которая будет работать для значения $b и выдает 888888? Я немного погубил, не повезло.
Спасибо
Ответы
Ответ 1
Вы можете удалить пробелы перед литьем до int
:
(int)str_replace(' ', '', $b);
Кроме того, если вы хотите удалить другие широко используемые разделители цифр (например, ,
), вы можете дать функции массиву (остерегайтесь, хотя - в некоторых странах, например, например, моя запятая используется для фракции обозначение):
(int)str_replace(array(' ', ','), '', $b);
Ответ 2
Если вы хотите оставить только числа - используйте preg_replace как: (int) preg_replace ( "/[^\d] +/", "", $b).
Ответ 3
Чем вы хотите получить результат? 888888? Если это так, просто удалите пробелы с помощью str_replace
, а затем конвертируйте.
Ответ 4
Замените пробельные символы, а затем преобразуйте их (используя встроенную функцию или путем обычного придания типов)
intval(str_replace(" ", "", $b))
Ответ 5
Используйте str_replace
, чтобы сначала удалить пробелы?
Ответ 6
Вы можете использовать str_replace
когда объявляете свою переменную $ b следующим образом:
$b = str_replace(" ", "", '88 8888');
echo (int)$b;
Или самое красивое решение - напрямую привести String к Int и отобразить переменную:
$b = (int)str_replace(' ', '', '88 8888');
echo $b;
Если ваше значение '88 888' из другой переменной, просто замените '88 888' на переменную, содержащую вашу строку.