Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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>