古庄親方の上級試験コラム#014 「言語リファレンス > 関数 > ユーザー定義関数 > 引数 その1」

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

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次