Mungkin Anda belum tau, bahwa sejak PHP 8, kita sudah bisa membongkar array, tapi apakah kita bisa membongkar array yang punya keys ?
2 min read·29 Nov 2021
Sebelum nya kita sama - sama tau, bahwa jika kita ingin menyatukan antara array pertama dan kedua bisa dengan menggunakan php built-in function.
Perhatikan syntax berikut.
$first = ['A', 'B'];
$second = ['C', 'D', 'E'];
$third = ['F', 'G', 'H', 'I'];
$forth = ['J'];
Biasanya, kita akan menggunakan array_merge
untuk menyatukan mereka, seperti ini.
$array_merge = array_merge($first, $second, $third, $forth);
var_dump($array_merge);
Dan kita akan mendapatkan hasil seperti berikut
[0]=>
string(1) "A"
[1]=>
string(1) "B"
[2]=>
string(1) "C"
[3]=>
string(1) "D"
...
Apakah Anda tau, bahwa PHP versi 8, kita sudah bisa menggunakan teknik baru, yang mana itu sering disebut unpacking (Pembongkaran).
Kita akan masih menggunakan array yang sama, perhatikan.
$unpacking = [...$first, ...$second, ...$third, ...$forth];
var_dump($unpacking);
Dan Anda tau, kita akan mendapatkan hasil yang sama persis saat ketika kita memakai array_merge
.
[0]=>
string(1) "A"
[1]=>
string(1) "B"
[2]=>
string(1) "C"
[3]=>
string(1) "D"
...
Baik, tapi ini tidak cukup, pertanyaan nya, apakah unpacking array ini mendukung yang namanya Strings as keys of array. Mari kita coba.
Disini saya akan membuat 2 array yang berbeda saja, banyak kali soalnya harus nulis 4 hahaha.
$first = ['a' => 'A', 'b' => 'B'];
$second = ['c' => 'C', 'd' => 'D', 'e' => 'E'];
$unpacking = [...$first, ...$second];
var_dump($unpacking);
Dan sekarang Anda pasti diperlihat dengan error yang sangat disayangkan.
// PHP Error: Cannot unpack array with string keys in
Tetapi, jika Anda menggunakan PHP 8.1+, maka ini akan lewat, artinya ini akan berhasil layaknya yang kita harapkan.
array(5) {
["a"]=> string(1) "A"
["b"]=> string(1) "B"
["c"]=> string(1) "C"
["d"]=> string(1) "D"
["e"]=> string(1) "E"
}
Semoga artikel ini dapat menambah pengetahuan Anda. Sampai ketemu di artikel selanjutnya.
Bergabunglah dengan 23.000+ lainnya dan jangan pernah ketinggalan screencast, tips, tutorial, dan lainnya.
Baca artikel lain yang mungkin menarik untuk Anda. Atau, Anda bisa mencari artikel lainnya di halaman artikel.