Pasar Properti

Tutorial PHP Cara Menggabungkan Multi Dimensional Array Menjadi Satu Dimensi (One Dimensional Array)

Panduan sederhana dan mudah cara merubah array multidimensional menjadi satu dimensi (one dimensional) di PHP. Multidimensional array masudnya adalah array yang valuenya berupa array juga, array yang punya anak array. Untuk merubahnya kita bisa memakai beberapa cara, disini kita akan menggunakan 2 cara yang paling gampang dan sederhana. Ingat di dunia pemrograman, semakin gampang dan sederhana maka itu semakin bagus karena semakin sedikit tahapan yang harus dilalui program. Semakin sedikit tahapan program berarti semakin hemat daya kemampuan CPU sehingga CPU tidak sibuk dan memory tidak habis.

Pertama memakai teknik Standard PHP Library (SPL), yang kedua memakai array_walk_recursive(). Kita akan satu satu dibawah ini

Cara Merubah Multi Dimensional Array menjadi Array Sederhana Dengan Standard PHP Library (SPL)

Standard PHP Library atau biasa disebut SPL adalah kumpulan koleksi class dan interface yang sudah disiapkan oleh pengembang bahasa pemrograman PHP untuk menyelesaikan masalah-masalah yang sudah umum/jamak. Jadi kasarannya ini adalah kumpulan library bawaanya PHP yang biasanya dibutuhkan untuk membuat program standard. Standard disini maksudnya banyak ditemui di dunia pemrograman.

Cata merubahnya bisa melihat contoh dibawah:

//contoh array multidimensional $array_multi_dimensional = array(1,2,array(3,4, array(5,6,7), 8), 9);$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array_multi_dimensional));//buat array satu dimensi dari object iterator (variabel $iterator)$array_one_dimensional = [];foreach($iterator as $value) {$array_one_dimensional[] = $value;}

variable $array_one_dimensional adalah array sederhana (satu dimensi) yang dihasilkan dari array multidimentional. Ada bisa var_dump dengan perintah seperti ini untuk melihat isinya:

array (size=9)  0 => int 1  1 => int 2  2 => int 3  3 => int 4  4 => int 5  5 => int 6  6 => int 7  7 => int 8  8 => int 9

Cara Merubah Multi Dimensional Array Menjadi Array Sederhana Dengan array_walk_recursive()

Untuk memudahkan merubah multidimensional array menjadi one dimensional array bisa function agar bisa dipakai berulang - ulang dengan cara memanggil funtionnya dan menjadikan variable multidimensional array sebagai parameternya.

Perhatikan kode php dibawah ini:

function flattenArray(array $array) {    $return = array();    array_walk_recursive($array, function($value) use (&$return) { $return[] = $value; });    return $return;}

Untuk memakai function diatas kita tinggal panggil functionnya dan masukkan array multidimensional yang kita punya sebagai parameternya seperti contoh dibawah ini:

$array_multi_dimensional = array(1,2,array(3,4, array(5,6,7), 8), 9);$array_one_dimensional = flattenArray($array_multi_dimensional);

Kita bisa liha isi variabel $array_one_dimensional dengan var_dump()

var_dump($array_one_dimensional);

Hasilnya akan seperti ini:

array (size=9)  0 => int 1  1 => int 2  2 => int 3  3 => int 4  4 => int 5  5 => int 6  6 => int 7  7 => int 8  8 => int 9

Hasilnya sama dengan cara pertama yang memakai SPL. Terimakasih dan semoga bermanfaat