Подтвердить что ты не робот

Php string для int

$a = '88';
$b = '88 8888';

echo (int)$a;
echo (int)$b;

как и ожидалось, оба дают 88. Кто-нибудь знает, есть ли строка для функции int, которая будет работать для значения $b и выдает 888888? Я немного погубил, не повезло.

Спасибо

4b9b3361

Ответ 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' на переменную, содержащую вашу строку.