我有一个大数组,其中包含许多包含数字数据的元素。
例子:
3200
34300
1499
12899
我想将这些转换为:
32.00
343.00
14.99
128.99
如何在不使用正则表达式的 PHP 下优雅地实现这一点?
提前致谢。
$new_array=array();
foreach($old_array as $value)
{
$new_array[]=number_format(($value/100),2);
}
如果你想摆弄千位分隔符或其他东西,请参阅number_format 。如果您想就地修改数组值,请参阅foreach 。
或者,如果您喜欢匿名函数和 PHP 5.3:
$nums = 数组(1, 2, 3, 4); array_walk($nums, function (&$val, $key) { $val = number_format($val/100, 2); }); print_r($nums);
输出:
大批 ( [0] => 1.00 [1] => 2.00 [2] => 3.00 [3] => 4.00 )
总之,答案是一样的:使用number_format()
.
for($i=0;$i<count($array);$i++)
{
$array[$i] = number_format($array[$i]/100,2);
//if you need them as numbers
$array[$i] = (float) number_format($array[$i]/100,2);
}