PHP中有没有办法只回显变量中的整数?
例如说我有这段代码:
$variable = "something123";
我怎么只回应“123”?
答案 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)));