0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PHP:関数:可変長引数:引数を可変させたい時に利用。受け取っただけで自動的に配列化する。

Last updated at Posted at 2023-02-23

非常に便利。なんと、関数で取得する仮引数がいくつかわからなくてもよい記法。
さらに便利なのが、仮引数は配列じゃないなずなのにforeachを使って加工できる。
なぜできるか?というと、仮引数の前に「…」と、ドットを三つ書く(...トークン)と、配列として受け取る仕様になっているから。

公式:https://www.php.net/manual/ja/functions.arguments.php#functions.variable-arg-list

引数リストに ... トークンを含めることで、 その関数が可変長の引数を受け取ることを示せます。 引数は、指定した変数に配列として渡されます

気をつけねばならないのは、あくまでも非配列として仮引数には入ってくるが、受け取り方が配列になっていると思われる点。なぜなら、仮引数の型をarrayと指定するとエラーになった。
従って、型の指定に注意する。

これは有用。いきなりforeachが使えて非常に便利。

function changeNum(string ...$cards): array {
    foreach ($cards as $card) {
       // 処理
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?