Php 在内爆时,是否将数组的round()内容精确到特定级别?
我有一个数组,里面有这样的内容Php 在内爆时,是否将数组的round()内容精确到特定级别?,php,Php,我有一个数组,里面有这样的内容 $numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994); 我需要将上述数组内爆() 由于数组中可能有数百个数字,如何以最有效的方式实现这一点?使用数组\u map中的函数: $numbers = array_map(function($v) { return round($v, 2); }, $numbers) 您可以使用
$numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994);
我需要将上述数组内爆()
由于数组中可能有数百个数字,如何以最有效的方式实现这一点?使用数组\u map
中的函数:
$numbers = array_map(function($v) { return round($v, 2); }, $numbers)
您可以使用before to内爆()
:
或者使用数字\u格式()
:
还可以使用,它将第二个参数中的函数应用于数组中的每个元素:
<?php
$numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994);
array_walk($numbers, function (&$el) {
$el = round($el, 2);
});
var_dump($numbers);
echo implode(", ", $numbers);
$serial = implode(',', array_map(function($v){return number_format($v,2);}, $numbers)) ;
// 0.50,0.21,0.51,0.20,0.46,0.09,0.43,0.74,0.26,0.38
<?php
$numbers = array(0.49882,0.20510,0.50669,0.20337,0.45878,0.08703,0.43491,0.74491,0.26344,0.37994);
array_walk($numbers, function (&$el) {
$el = round($el, 2);
});
var_dump($numbers);
echo implode(", ", $numbers);
array (size=10)
0 => float 0.5
1 => float 0.21
2 => float 0.51
3 => float 0.2
4 => float 0.46
5 => float 0.09
6 => float 0.43
7 => float 0.74
8 => float 0.26
9 => float 0.38
0.5, 0.21, 0.51, 0.2, 0.46, 0.09, 0.43, 0.74, 0.26, 0.38