PHP - 文法 - 引数

クラウディア 
1. 概要
2. 可変引数
3. 省略形

1. 概要

 最近(2021年4月19日)まで、とんと知らなんだ。  「PHP」での可変引等、引数の書き方です。  本ページは、下記のサイトを参考にさせていただきました。
PHP: 新機能 - Manual」
「PHP: 関数の引数 - Manual
 新機能って、「PHP 5.5.x から PHP 5.6.x への移行」ってことですので、ずいぶん前から有効だったんですな。

2. 可変引数


<?php
function f($req, ...$params)
{
	・・・
}
 と書きゃ、「$Params」が可変引数というか、配列で与えられるので、個数分ひっぱりだしゃいいようです。  第一引数から、可変引数にしていいのかどうかは、やってみていません。

<?php

function f($arg1, ...$params)
{
	print('arg1['.$arg1.'] count['.count($params)."]\n");

	foreach ($params as $key => $value)
	{
		print(' '.$value);
	}

	print("\n");
}

f(1);
f(1, 2);
f(1, 2, '3');
f(1, 2, '3', 4);
f(1, 2, '3', 4, 5);
 てな、ソースを書いて、実行すると、下記の結果が得られます。

arg1[1] count[0]

arg1[1] count[1]
 2
arg1[1] count[2]
 2 3
arg1[1] count[3]
 2 3 4
arg1[1] count[4]
 2 3 4 5

3. 省略形

 他の言語にもありがちですね。  引数に「=」をつけることで、引数を省略した時のデフォルト値を設定することができます。

function function1($string = null)
{
   ・・・ 略 ・・・
}
 てな関数を呼ぶときに。

function1();
 てな書き方をすれば、呼ばれた方では、「null」が設定されるわけです。
earthcar(アースカー)