PHP8.1の新機能紹介 Array unpacking support for string-keyed arrays

これは単純に便利。
array_mergeの糖衣構文のように使える。

ただし、連想配列のキーがかぶっていた場合は後勝ち(右にあるものが優先)なので注意。

<?php
$list1 = ['a'=>1, 99];
$list2 = ['a'=>2, 88];
$list3 = ['a'=>3, 77];

var_dump([...$list1,...$list2,...$list3]);
var_dump([...$list1,...$list3,...$list2]);

/*
array(4) {
  ["a"]=>
  int(3)
  [0]=>
  int(99)
  [1]=>
  int(88)
  [2]=>
  int(77)
}
array(4) {
  ["a"]=>
  int(2)
  [0]=>
  int(99)
  [1]=>
  int(77)
  [2]=>
  int(88)
}
*/
カテゴリー: php

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です