在串数字,所以我有这个字符串:操纵使用PHP
100.25 $ -500 $
我想修改的数值,然后将其放回字符串。因此,例如,我希望能够取出每个浮点值,将其操作前(100.25 * 10)和(500 * 2),并将其重新放回(1000.25 $ -1000 $)中。它必须是灵活的,因为美元符号也可以在另一边。
在此先感谢。
preg_match_all('/\d+/', $str, $matches);
echo $matches[0];
在串数字,所以我有这个字符串:操纵使用PHP
100.25 $ -500 $
我想修改的数值,然后将其放回字符串。因此,例如,我希望能够取出每个浮点值,将其操作前(100.25 * 10)和(500 * 2),并将其重新放回(1000.25 $ -1000 $)中。它必须是灵活的,因为美元符号也可以在另一边。
在此先感谢。
preg_match_all('/\d+/', $str, $matches);
echo $matches[0];
我可以建议该功能
$correctionArr = array(10, 2);
echo changeString('100.25$-500$', $correctionArr);
function changeString($str, $correct){
$array = explode('-', $str);
if(count($array) > 0){
foreach ($array as $key => $amount) {
if(isset($correct[$key])){
$return[] = (float)$amount * $correct[$key] . '$';
}
else $return[] = $amount;
}
}
return implode('-', $return);
}
在校阵列($ correctionArr),你可以设置你要操纵
非常感谢你!!!!!!!!!!!!!!! – jmanjam321 2014-12-04 15:27:56
使用正则表达式(https://regex101.com/)这个(http://ideone.com/3JvnCZ)
<?php
$re = "/[\\d.]+/";
$str = "100.25$-500$";
preg_match_all($re, $str, $matches);
var_dump($matches);
echo ($matches[0][1] * 10) . "$-" . ($matches[0][1] * 2) . "$";
PS:你之前有一个变量值这个(POST,GET,JSON等)?
因为我们还没有作出了努力,自行解决问题,其量,看起来你正在寻找[聘请自由职业者为你做你的工作](http://www.freelancer.com)。 StackOverflow不是,也从未成为“给我teh codez”网站。我们帮助 - 我们不是您的免费劳力。如果你 - 事实上 - 自己已经努力了,你需要发布你的代码。 – h2ooooooo 2014-12-03 20:32:10