Только эхо целых - PullRequest
       2

Только эхо целых

0 голосов
/ 23 ноября 2011

Есть ли в PHP способ выводить только целые числа из переменной?

Например, скажем, у меня был этот кусок кода:

$variable = "something123";

Как бы я повторил только "123"?

Ответы [ 5 ]

1 голос
/ 23 ноября 2011
echo preg_replace('/[^0-9]/','', $variable);
1 голос
/ 23 ноября 2011

Для этого следует использовать регулярное выражение.

preg_match('/\d+/', $variable, $match);
echo $match[0];

Переменная $match заполняется первой числовой частью строки, передаваемой функции preg_match.

\d+ означает «1 или более цифр»

0 голосов
/ 23 ноября 2011

Регулярные выражения в этом случае слишком быстрые и слишком простые.

implode(array_intersect(str_split($variable), range(0,9)));
0 голосов
/ 23 ноября 2011

Я бы использовал preg_replace

$variable = "something123";

echo preg_replace('/[^\d]/','', $variable);
0 голосов
/ 23 ноября 2011

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

<?php
    $variable = 'something123';
    $numbers = preg_replace('/[^0-9]/', '', $variable);
    echo $numbers;
?>

http://codepad.viper -7.com / xeNUDk

Обратите внимание, что это может не работать в более сложных случаях, таких как несколько групп номеров, разделенных другими символами. Если вам нужна поддержка, прокомментируйте с более подробной информацией, и я посмотрю, что можно сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...