سوال بپرسید
0

میانگین گیری در یک آرایه در لاراول

سوال بپرسید

دوستان سلام 

من چطوری میتونم در لاراول همچین ارایه ای رو دارم مقادیری که میبینید رو با هم جمع کنم و میانگینشون رو بگیرم ؟ 

ay:3 [▼
  12 => array:6 [▼
    0 => array:2 [▼
      "qty" => 5
      "score" => "کیفیت ساخت"
    ]
    1 => array:2 [▶]
    2 => array:2 [▶]
    3 => array:2 [▶]
    4 => array:2 [▶]
    5 => array:2 [▶]
  ]
  13 => array:6 [▼
    0 => array:2 [▼
      "qty" => 4
      "score" => "کیفیت ساخت"
    ]
    1 => array:2 [▶]
    2 => array:2 [▶]
    3 => array:2 [▶]
    4 => array:2 [▶]
    5 => array:2 [▶]
  ]
  14 => array:6 [▼
    0 => array:2 [▼
      "qty" => 2
      "score" => "کیفیت ساخت"
    ]
    1 => array:2 [▶]
    2 => array:2 [▶]
    3 => array:2 [▶]
    4 => array:2 [▶]
    5 => array:2 [▶]
  ]
]

 

برچسب ها:
گزارش سوال
پرسیده شده در
آمار بازدید: 221

1 پاسخ

1

سلام

آرایه از نوع انجمنی  و دارای سه عنصر با کلیدهای '12' و '13' و '14' می باشد. هر عنصر از این آرایه خود یک آرایه 6 عنصری است که مقادیر ان هم یک آرایه انجمنی با کلید های 'qty' و'score'  است. با استفاده از دو حلقه foreach تو در تو می توان مقادیر qty را بدست آورد. متغیر count هم برای یافتن تعداد مقادیر تعریف شده است.

$sum = 0;
$count = 0;
foreach ($ay AS $row) {
    foreach ($row AS $item) {
        $sum += (int)$item['qty'];
        $count++;
    }
echo $sum/$count;

امیدوارم که این پاسخ مشکل شما را حل کرده باشد.