سؤال

لدي مجموعة كبيرة تحتوي على الكثير من العناصر التي تحتوي على بيانات رقمية.

مثال:

3200
34300
1499
12899

أريد تحويلها إلى:

32.00
343.00
14.99
128.99

كيف يمكنني تحقيق ذلك بأناقة تحت PHP باستخدام No Regex؟

شكرا مقدما.

هل كانت مفيدة؟

المحلول

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

نرى number_format إذا كنت تريد أن تملأ مع فاصل الآلاف أو شيء من هذا القبيل. نرى foreach إذا كنت ترغب في تعديل قيم الصفيف في مكانها.

نصائح أخرى

أو ، إذا كنت تحب الوظائف المجهولة و PHP 5.3:

$nums = array(1, 2, 3, 4);
array_walk($nums, function (&$val, $key) {
    $val = number_format($val/100, 2);
});
print_r($nums);

انتاج:

Array
(
    [0] => 1.00
    [1] => 2.00
    [2] => 3.00
    [3] => 4.00
)

لا يزال كل شيء ، الجواب هو نفسه: استخدام number_format().

استخدام 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);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top