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.
Let's start living like no one can help us in any event, so that when we are helped in certain times, it becomes a plus in itself.