Bagaimana metode untuk menghitung kemunculan tertinggi dari suatu data di array php?

sory kalau pertanyaannya kurang jelas. jadi saya punya array yang diambil dari database. Contohnya hasilnya kurang lebih sbb:

0 => [
     'grup'         => 1
     'data_lainnya' => 'blabla'
     ]
1 => [
     'grup'         => 2
     'data_lainnya' => 'blabla'
     ]
2 => [
     'grup'         => 1
     'data_lainnya' => 'blabla'
     ]
3 => [
     'grup'         => 3
     'data_lainnya' => 'blabla'
     ]

kasus yg ingin sy selesaikan: \* grup dengan value berapakah yang paling tinggi tingkat kemunculannya. (semestinya hasil yang harus saya dapatkan adalah "grup 1" karena kemunculannya 2 kali).

thanks before.

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Diperbarui 7 tahun yang lalu

3 Jawaban:

Jawaban Terpilih

Coba gini: Misal $datas adalah hasil array di atas:

<?php

// Menampung hasil
$result = [];

// Looping data
foreach($datas as $data)
{
    // Jika data grup (id) sudah terdefinisikan pada array $result, berarti ini adalah grup yang kembar
    // Maka kita akan tandai jumlah grup yang kembar dengan menambahkan nilai 1.
    if(isset($result[$data['grup']]))
    {
        $result[$data['grup']]['count'] = $result[$data['grup']]['count'] + 1;
    }
    else
    {
        $result[$data['grup']] = [
            'count' => 1,
            'grup_id' => $data['grup']
        ];
    }
}

var_dump($result); // output berupa array dengan index grup_id beserta berapa banyak jumlah kemunculannya.

*Belum saya coba, mudah-mudahan work.

avatar dalikewara
@dalikewara

351 Kontribusi 260 Poin

Dipost 7 tahun yang lalu

mantap banget om. 100% work. thanks atas kode dan logikanya ;D

avatar onirusama
@onirusama

265 Kontribusi 184 Poin

Dipost 7 tahun yang lalu

Yosh!

avatar dalikewara
@dalikewara

351 Kontribusi 260 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban