我有一个var
,内容如下:+5 cars
。
现在我想取数字字符,除以3并用新数字替换当前数字。但我不知道如何处理这个问题。我用Google搜索了它,它引导我preg_replace
,但它真的不是那么难,可以吗?
现在很明显,5不能除以3,这就是我想要它round()
的原因。如果有人知道如何实现这一目标,我会很感激。
答案 0 :(得分:1)
我会使用str_replace
(reference)和intval
(reference)(正如您提到的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];
希望能有效