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

avatar fiand96
@fiand96

13 Kontribusi 2 Poin

Diperbarui 5 tahun yang lalu

3 Jawaban:

  1. di loop biasa (keluarkan semua hasil)
  2. bikin if else

<pre> if($array['browser'] == 'Google Chrome') $googleChromeTotal += $array['count']

</pre> begitu juga dengan yang lainnya

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 5 tahun yang lalu

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> &lt;?php

$array = array(Array("browser" =&gt; "Google Chrome","count" =&gt; 2), Array("browser" =&gt; "Google Chrome","count" =&gt; 4), Array("browser" =&gt; "Firefox", "count" =&gt; 15), Array("browser" =&gt; "IE", "count" =&gt; 3), Array("browser" =&gt; "IE", "count" =&gt; 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 "&lt;pre&gt;"; print_r($res);

?&gt; </pre>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 5 tahun yang lalu

Tanggapan

udah bisa mas, tapi cara ambil value yang count gimana ya mas ?

tinggal bikin for aja, contoh <pre> foreach ($res as $key =&gt; $val) { echo "Browser " . $val['browser'] . ", jumlahnya : " . $val['count'] . "&lt;br&gt;"; } </pre>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban