时间:2021-07-01 10:21:17 帮助过:19人阅读
$s =<<< TXT64.90 你好53.64 我好80.90 他好53.64 哈哈40.90 呵呵53.64 噢噢TXT;echo preg_replace_callback('/(| )([\d.]+)/', function($m) {return sprintf('%s%.2f', $m[1], $m[2] * ($m[1] == ' ' ? 0.8 : 0.6));}, $s);
51.92 你好32.18 我好64.72 他好32.18 哈哈32.72 呵呵32.18 噢噢
楼上的大哥你给的代码报错啊
Parse error: syntax error, unexpected T_FUNCTION in C:\111.php on line 10
能不能把得到的值再等于变量,具体怎么写
$p = preg_replace_callback('/(
你的php版本低于5.3 不支持匿名函数,改成这样
function foo($m){ return sprintf('%s%.2f', $m[1], $m[2] * ($m[1] == '' ? 0.8 : 0.6));}$p = preg_replace_callback('/( | )([\d.]+)/', "foo", $s); echo $p;