将var中的数字替换为另一个数字

时间:2015-05-18 14:05:50

标签: php

我有一个var,内容如下:+5 cars

现在我想取数字字符,除以3并用新数字替换当前数字。但我不知道如何处理这个问题。我用Google搜索了它,它引导我preg_replace,但它真的不是那么难,可以吗?

现在很明显,5不能除以3,这就是我想要它round()的原因。如果有人知道如何实现这一目标,我会很感激。

3 个答案:

答案 0 :(得分:1)

我会使用str_replacereference)和intvalreference)(正如您提到的round):

$test = '+5 cars';
$test = str_replace(intval($test),round($test/3),$test);
echo $test;

输出:

+2 cars

答案 1 :(得分:1)

只需将其转换为整数并替换为除法结果:

$s = "+5 cars";
$num = intval($s); // or $num = (int) $s;
$s = str_replace($num, round($num/3), $s);
echo $s;
//+2 cars

或者,使用preg_match_all

preg_match_all('/\d+/',$s, $matches);
$s = str_replace($matches[0][0], round($matches[0][0]/3), $s);

答案 2 :(得分:0)

$tempr=(explode(" ",$varname));
$num = $tempr[0] ; 
$newnum = $tempr[0]/5;
$newvar=$newnum." ".$tempr[1];

希望能有效