6

数値データを含む要素をたくさん含む大きな配列があります。

例:

3200
34300
1499
12899

これらを次のように変換したいと思います。

32.00
343.00
14.99
128.99

正規表現を使用せずにPHPでこれをエレガントに実現するにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

18
$new_array=array();
foreach($old_array as $value)
{
   $new_array[]=number_format(($value/100),2);
}

千単位の区切り文字などをいじりたい場合は、number_formatを参照してください。配列値を適切に変更する場合は、foreachを参照してください。

于 2009-10-08T16:44:21.020 に答える
2

または、無名関数とPHP 5.3が好きな場合:

$ nums = array(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()ください。

于 2009-10-08T17:19:39.313 に答える
0

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);
}
于 2009-10-08T16:43:34.393 に答える