只回显整数

时间:2011-11-22 20:24:47

标签: php variables

PHP中有没有办法只回显变量中的整数?

例如说我有这段代码:

$variable = "something123";

我怎么只回应“123”?

5 个答案:

答案 0 :(得分:1)

你应该使用正则表达式。

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

$match变量填充了传递给preg_match函数的字符串的第一个数字部分。

\d+表示“1位或更多位数”

答案 1 :(得分:1)

echo preg_replace('/[^0-9]/','', $variable);

答案 2 :(得分:0)

你可以使用正则表达式并用空字符串替换不是数字的所有内容,因此只留下数字:

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

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

请注意,这可能不适用于更复杂的情况,例如由其他字符分隔的多个数字组。如果您需要支持,请提供更多详细信息,我会看到可以做些什么。

答案 3 :(得分:0)

我会使用preg_replace

$variable = "something123";

echo preg_replace('/[^\d]/','', $variable);

答案 4 :(得分:0)

在这种情况下,正则表达式太快且太简单。

implode(array_intersect(str_split($variable), range(0,9)));