Dapatkan diskon up to 40% untuk pembelian di bulan Ramadhan.

Unpacking Array PHP 8 & PHP 8.1

Mungkin Anda belum tau, bahwa sejak PHP 8, kita sudah bisa membongkar array, tapi apakah kita bisa membongkar array yang punya keys ?

1 min read

Published on 29 Nov, 2021 (updated: 23 Sep, 2022)

Written by Irsyad A. Panjaitan

Fill in PHPPHP

ArticlesUnpacking Array PHP 8 & PHP 8.1

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'];
phpCopy

Biasanya, kita akan menggunakan array_merge untuk menyatukan mereka, seperti ini.

$array_merge = array_merge($first, $second, $third, $forth); var_dump($array_merge);
phpCopy

Dan kita akan mendapatkan hasil seperti berikut

[0]=> string(1) "A" [1]=> string(1) "B" [2]=> string(1) "C" [3]=> string(1) "D" ...
phpCopy

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);
phpCopy

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" ...
phpCopy

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);
phpCopy

Dan sekarang Anda pasti diperlihat dengan error yang sangat disayangkan.

// PHP Error: Cannot unpack array with string keys in
phpCopy

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" }
phpCopy

Semoga artikel ini dapat menambah pengetahuan Anda. Sampai ketemu di artikel selanjutnya.

Irsyad A. Panjaitan

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.
3

Share on