Meratakan (Flattened) Multidimensional Array Pada PHP
This post is going to serve as a place to point people to, as it is a question that gets asked fairly regularly in the PHP support channels that I hang around in. The task is to “flatten” nested arrays into a single series containing all of the values.Contoh Input
Contoh Output
Fungsi Rekursif (Recusrsive Function)
Untuk membuat array, programmer PHP bisa menggunakan sebuah fungsi rekursif (fungsi yang memanggil dirinya sendiri). Pada beberapa kasus, hal ini adalah salah satu jalan keluar. Nah pada kasus ini, dua contoh berikut akan mencoba memanfaatkan fungsi PHP secara utuh untuk melakukan proses rekursif (berulang) untuk program yang kita buat.Menggunakan SPL (Standard PHP Library)
Standard PHP Library (SPL) adalah koleksi dari interface dan kelas-kelas yang bertujuan untuk menyelesaikan permasalahan yang umum dijumpai dalam pengembangan aplikasi menggunakan PHP. Untuk dokumentasi lebih lengkap silahkan baca Standard PHP Library.Solusi ini menggunakan fungsi iterator_to_array(), class RecursiveIteratorIterator() dan class RecursiveArrayIterator().
Menggunakan Fungsi array_walk_recursive()
Solusi ini lebih prosedural, namun tetap masih menggunakan PHP untuk proses recursivenya. Solusi ini menggunakan closure (anonymous function) untuk membangun sebuah array step-by-step.Link Terkait
Berikut link-link terkait dengan materi yang dibahas:
- RecursiveArrayIterator
- RecursiveIteratorIterator
- iterator_to_array()
- Closures
- array_walk_recursive()