多个 preg_match_all 导致 foreach
Multiple preg_match_all result in foreach
我想替换每个小数以供以后在 Javascript 中使用。所以这是我的代码:
if (preg_match_all("#[0-9]+(\.[0-9]{1,8})#", $operationvalue_new2, $result)) {
foreach ($result[0] as $number_element) {
$operationvalue_new2 = preg_replace(
"#[0-9]+(\.[0-9]{1,8})#",
"Number(\0)",
$operationvalue_new2
);
#echo $operationvalue_new2;
}
};
下面是一个例子:
//var1812/100*(var1805*var1807*2.688)+(var1808-var1812)*var1806*var1807*1.2/100)
将转换为
//var1812/100*(var1805*var1807*Number(Number(2.688)))+(var1808-var1812)*var1806*var1807*Number(Number(1.2))/100)
但应该是
//var1818=var1812/100*(var1805*var1807*Number(2.688))+(var1808-var1812)*var1806*var1807*Number(1.2)/100)
试试这个:
<?php
$subject = "var1812/100*(var1805*var1807*2.688)+(var1808-var1812)*var1806*var1807*1.2/100)";
$result = preg_replace('/([0-9]+\.[0-9]{1,8})/s', 'number()', $subject);
echo $result;
?>
结果:
var1812/100*(var1805*var1807*number(2.688))+(var1808-var1812)*var1806*var1807*number(1.2)/100)
我想替换每个小数以供以后在 Javascript 中使用。所以这是我的代码:
if (preg_match_all("#[0-9]+(\.[0-9]{1,8})#", $operationvalue_new2, $result)) {
foreach ($result[0] as $number_element) {
$operationvalue_new2 = preg_replace(
"#[0-9]+(\.[0-9]{1,8})#",
"Number(\0)",
$operationvalue_new2
);
#echo $operationvalue_new2;
}
};
下面是一个例子:
//var1812/100*(var1805*var1807*2.688)+(var1808-var1812)*var1806*var1807*1.2/100)
将转换为
//var1812/100*(var1805*var1807*Number(Number(2.688)))+(var1808-var1812)*var1806*var1807*Number(Number(1.2))/100)
但应该是
//var1818=var1812/100*(var1805*var1807*Number(2.688))+(var1808-var1812)*var1806*var1807*Number(1.2)/100)
试试这个:
<?php
$subject = "var1812/100*(var1805*var1807*2.688)+(var1808-var1812)*var1806*var1807*1.2/100)";
$result = preg_replace('/([0-9]+\.[0-9]{1,8})/s', 'number()', $subject);
echo $result;
?>
结果:
var1812/100*(var1805*var1807*number(2.688))+(var1808-var1812)*var1806*var1807*number(1.2)/100)