Postingan lainnya
Cara group dan menjumlahkan array
pagi um izin bertanya. saya ada array seperti ini
Array
(
[0] => Array
(
[browser] => Google Chrome
[count] => 2
)
[1] => Array
(
[browser] => Google Chrome
[count] => 4
)
[2] => Array
(
[browser] => Firefox
[count] => 15
)
)
cara group nya gimana ya um ? biar yang Google Chrome jadi 1 dan count nya 6. atau terlihat seperti ini
Array
(
[0] => Array
(
[browser] => Google Chrome
[count] => 6
)
[1] => Array
(
[browser] => Firefox
[count] => 15
)
)
terimakasih sebelumya
3 Jawaban:
- di loop biasa (keluarkan semua hasil)
- bikin if else
<pre> if($array['browser'] == 'Google Chrome') $googleChromeTotal += $array['count']
</pre> begitu juga dengan yang lainnya
Tanggapan
cara nya biar otomatis gimana ya mas ? soalnya array diatas hasil dari query. bedanya google_chrome pertama dan kedua adalah type device. yang pertama chrome mobile dan yang kedua adalah chrome desktop
pakai strpos dari php kalo mengangung kata chrome
coba ini gan <pre> <?php
$array = array(Array("browser" => "Google Chrome","count" => 2), Array("browser" => "Google Chrome","count" => 4), Array("browser" => "Firefox", "count" => 15), Array("browser" => "IE", "count" => 3), Array("browser" => "IE", "count" => 4), );
$res = array(); foreach($array as $vals){ if(array_key_exists($vals['browser'],$res)){ $res[$vals['browser']]['count'] += $vals['count']; } else{ $res[$vals['browser']] = $vals; } }
echo "<pre>"; print_r($res);
?> </pre>
Tanggapan
udah bisa mas, tapi cara ambil value yang count gimana ya mas ?
tinggal bikin for aja, contoh <pre> foreach ($res as $key => $val) { echo "Browser " . $val['browser'] . ", jumlahnya : " . $val['count'] . "<br>"; } </pre>