Senin, 29 November 2021

Memahami Unpacking Array di PHP 8 dan 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 ?

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.

Karteil
Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
Kunjungi Sekarang

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.

Go to Irsyad A. Panjaitan profile
Support me
SaweriaGithub