functionを使用して、関数を定義します。
<?php
// 引数との加算関数
function tashizan( $number ) {
return $number + 50;
}
// tashizan()関数を呼び出します
echo tashizan( 50 );
?>
上記のスクリプトでは、functionに続けて任意の関数名「tashizan」を指定しています。
このtashizan()関数は、引数として渡される変数$numberに50の加算を行います。よって、関数名の変数に続けて「()かっこ」の中に、引数を記述します。なお、関数の範囲を明示するために「{}(中かっこ)」で、実行するコードを囲います。
関数を実行するためには、関数名に「()かっこ」を付けて呼び出します。もし、引数が必要な場合は、「()かっこ」に記述します。
100
また、下記の関数のように、複数の引数を渡すこともできます。その際には、引数を「,(カンマ)」で区切って並べます。
<?php
function kakezan( $number1, $number2 ) {
return $number1 * $number2;
}
// kakezan()関数を呼び出します
echo kakezan( 10, 20 );
?>
200
前節のスクリプトのように、関数では引数を使用して値を渡すことができます。引数は「,(カンマ)」で区切ることによって、複数指定することができ、また、その引数に配列を渡すこともできます。
<?php
// 引数に配列を指定します
function warizan( $number ) {
return $number[0] / $number[1];
}
// warizan()関数を実行します
echo warizan( array( 3000, 10 ) );
?>
300
上記スクリプトでは、「echo warizan( array( 3000, 10 ) );」の「array( 3000, 10 )」の「3000」と「10」はそれぞれ[0]と[1]に格納され、「3000/10」という計算がされています。
引数名に「&(アンパサンド)」を付けると、引数を参照渡しで渡すことができます。引数を参照渡しにすると、参照先の変数の値を変更することができます。
<?php
// 引数参照渡しで渡します
function job( &$syokugyo ) {
$syokugyo = '会社員';
}
$str = '大学生';
echo "関数実行前の$str : $str<br />n";
// job()関数を実行します
job( $str );
echo "関数実行後の$str : $str";
?>
関数実行前の$str : 大学生 関数実行後の$str : 会社員
上記の関数の実行結果を見てみると、変数$strには初期値として「大学生」がセットされています。しかし、job()関数の実行後には、「会社員」に変更されていることがわかります。
PHPで定義される関数では、注)スカラー引数に関して以下のようにC++スタイルのデフォルト値を定義することができます。
<?php
function job( $syokugyo = "大学生" ) {
return "職業は $syokugyo です。<br />n";
}
echo job();
echo job( "会社員" );
?>
職業は 大学生 です。 職業は 会社員 です。
上記のスクリプトでは、「job( $syokugyo = "大学生" )」によって、$syokugyoはデフォルトで「大学生」となっています。以上から「echo job();」の「job()関数」を引数に何もない状態で実行すると必ず「大学生」が出力されます。