https://www.php.net/manual/ja/functions.arguments.php
値渡しとリファレンス渡し
デフォルトでは、引数は「値渡し」になりますが、関数定義で引数名の前にアンパサンド(&)を付ける事で、リファレンス渡しになります。
ただしクラスのオブジェクトは「常にリファレンス渡し」になります。
名前付き引数
PHP8から、名前付き引数がサポートされました。
引数のアンパック
https://www.php.net/manual/ja/migration56.new-features.php#migration56.new-features.splat
...
演算子を使うと、配列をアンパックして引数を展開することができます。
PHP 8.1.0以降(試験範囲対象外)、名前付き引数のアンパックもサポートされました。
https://www.php.net/manual/ja/functions.arguments.php#functions.named-arguments
名前付き引数に前置された引数のアンパックもできます(上書きの時ってどうなるの?) https://www.php.net/manual/ja/migration81.new-features.php#migration81.new-features.core.named-arg-after-unpack
このコラムに関連するコードはこちらになります
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/014.php
https://github.com/php-engineer-examination/php8_column_expert/blob/main/src/014_NotTest.php