Categories: PHP

PHP – Menggabungkan array data berurutan yang muncul berkali-kali

Bismillaahirrohmaanirrohiim…

Sekitar dua hari saya membuat kode PHP untuk menggabungkan data array yang muncul berurutan namun muncul berkali-kali.

Ini terdapat dalam pembuatan data jadwal pelajaran, dimana setiap mata pelajaran dikelompokkan berdasarkan mata pelajaran, namun ada juga di hari yang sama mata pelajaran muncul di jam yang berbeda.

Misalnya mata pelajaran Bhs Indonesia pada hari kamis ada pada jam ke 3-4 dan 7-8. Tujuannya adalah mata pelajaran Bhs Indonesia dikelompokkan data ke 1 = 3-4 dan data ke 2 = 7-8.

Berikut kodenya:

    //data dalam array bisa muncul berkali2 namun tetap mempertahankan urutannya.
    //coba gabungkan array yg sama scr berurutan=sukses alhamdulillah
    $gabs = array();    
    $gabs_temp = array();
    $iddata_prev = '';
    $idx = 0;
    foreach ($data_arr as $arr1) {
        
        $iddata = $arr1['iddata'];

        if (!isset($gabs_temp[$iddata])) {
            $idx++;
            $gabs[$idx][$iddata]['data_mulai'] = $arr1;
            $gabs_temp[$iddata] = '';


            if (isset($gabs_temp[$iddata_prev])) {
                unset($gabs_temp[$iddata_prev]);
            }
        } else {
            $gabs[$idx][$iddata]['data_selesai'] = $arr1;
        }

        $iddata_prev = $iddata;
    }
    var_dump($gabs);

Data asalnya:

menjadi:
Kebetulan data pada gambar di atas hanya berurutan dan tidak berulang.

Namun kode program tadi apabila jadwal berulang pada hari yang sama tetap tertangani.

Semoga bermanfaat…

Bagikan
rasupe

Recent Posts

Kode css yang berguna

Bismillaahirrohmaanirrohiim... Berikut ini kumpulan css yang berguna, untuk mengingat saja. Input atau button delay saat…

1 day ago

Grouping warna pada tabel dengan PHP

Bismillaahirrohmaanirrohiim... Berikut ini cara grouping warna baris pada tabel dengan PHP, dimana jika ada kode…

1 week ago

CMS Website Desain Interior – PHP MySQL

CMS (Content Management System) Web untuk Desain Interior adalah solusi lengkap untuk mempresentasikan bisnis desain…

3 weeks ago

Source code Template website sekolah dengan react js

Bismillaahirrohmaanirrohiim... Berikut ini source code yang dapat dimodifikasi untuk membuat front end website sekolah dengan…

1 month ago

Subdomain pada cyberpanel tidak dapat diakses

Bismillaahirrohmaanirrohiim... Jika domain dan sub domainnya berada dalam satu vps cyberpanel, maka seringkali jadi tidak…

2 months ago

10 Aplikasi Kasir Terbaik di Indonesia (2025)

Bismillaahirrohmaanirrohiim... Dalam era digital saat ini, penggunaan aplikasi kasir (Point of Sale/POS) menjadi solusi penting…

2 months ago