関数の引数には、初期設定値を指定することができる。文字列だけでなく、配列や、連想配列などを、初期設定値とすることもできる。
使い方
ひとつの引数
引数がひとつだけの場合。
定義
function 関数名( 仮引数 = 初期設定値 ) {
関数内処理文
}
関数内処理文
}
仮引数の初期設定値を指定。
関数を呼び出す際に「実引数」に指定した値がある場合は、「実引数」の値を優先する。
呼び出し(コール)
関数名( 実引数 );
関数に渡したい値を、「実引数」に指定することができる。「実引数」を指定しないときは、「仮引数」に指定した初期設定値を使う。
複数の引数1
引数が複数の場合。
定義
function 関数名( 仮引数A = 初期設定値A, 仮引数B = 初期設定値B, 仮引数C = 初期設定値C ) {
関数内処理文
}
関数内処理文
}
カンマ「,」で区切り、複数の仮引数の初期設定値を指定。
関数を呼び出す際に「実引数」に指定した値がある場合は、「実引数」の値を優先する。
呼び出し(コール)
関数名( 実引数A, 実引数B, 実引数C );
関数に渡したい値を、「実引数」に指定することができる。「実引数」を指定しないときは、「仮引数」に指定した初期設定値を使う。
複数の引数2
初期設定値を設定しない引数と、初期設定値を設定する引数が、両方存在する場合、仮引数の順番に注意が必要だ。
定義
function 関数名( 仮引数A, 仮引数B, 仮引数C = 初期設定値C, 仮引数D = 初期設定値D ) {
関数内処理文
}
関数内処理文
}
初期設定値を設定しない仮引数は、初期設定値を設定する仮引数よりも、先に(左側で)指定しなければならない。
関数を呼び出す際に「実引数」に指定した値がある場合は、「実引数」の値を優先する。
呼び出し(コール)
関数名( 実引数A, 実引数B, 実引数C );
関数に渡したい値を、「実引数」に指定することができる。「実引数」を指定しないときは、「仮引数」に指定した初期設定値を使う。
サンプル
ひとつの引数
引数がひとつだけのサンプル。
<?php
function sample( $var = '名無しの権兵衛' ) {
echo "こんにちは♪<br />{$var}さん<br /><br />";
}
sample();
sample( '太郎' );
?>
function sample( $var = '名無しの権兵衛' ) {
echo "こんにちは♪<br />{$var}さん<br /><br />";
}
sample();
sample( '太郎' );
?>
↓↓↓出力結果↓↓↓
こんにちは♪
名無しの権兵衛さん
こんにちは♪
太郎さん
名無しの権兵衛さん
こんにちは♪
太郎さん
複数の引数1
引数が複数のサンプル。
<?php
function sample( $varA = 0, $varB = 0, $varC = 0 ) {
echo "{$varA} + {$varB} + {$varC} = " , $varA + $varB + $varC , "<br />";
}
sample();
sample( 3, 5, 7 );
?>
function sample( $varA = 0, $varB = 0, $varC = 0 ) {
echo "{$varA} + {$varB} + {$varC} = " , $varA + $varB + $varC , "<br />";
}
sample();
sample( 3, 5, 7 );
?>
↓↓↓出力結果↓↓↓
0 + 0 + 0 = 0
3 + 5 + 7 = 15
3 + 5 + 7 = 15
複数の引数2
初期設定値を指定しない引数と、初期設定値を指定する引数が、両方存在する場合、仮引数の順番に注意が必要だ。
<?php
function sample( $varA, $varB = 0, $varC = 0 ) {
echo "{$varA} + {$varB} + {$varC} = " , $varA + $varB + $varC , "<br />";
}
sample( 3, 5 );
sample( 3, 5, 7 );
?>
function sample( $varA, $varB = 0, $varC = 0 ) {
echo "{$varA} + {$varB} + {$varC} = " , $varA + $varB + $varC , "<br />";
}
sample( 3, 5 );
sample( 3, 5, 7 );
?>
↓↓↓出力結果↓↓↓
3 + 5 + 0 = 8
3 + 5 + 7 = 15
3 + 5 + 7 = 15