by shigemk2

当面は技術的なことしか書かない

関数のデフォルト値の設定

PHP: 関数の引数 - Manual

下記のように、引数内の変数に値を代入すれば、デフォルト値を設定出来る。

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso"); // デフォルト値以外の値を引数にすれば、別の結果が返る
?>

ただし、デフォルト値は、定数式である必要があり、
(例えば) 変数やクラスのメンバーであってはならない。

<?php
// 仮に前もって$flavourを定義していてもエラー。
function makeyogurt($type = "acidophilus", $flavour)
{
    return "Making a bowl of $type $flavour.\n";
}
 
echo makeyogurt("raspberry");   // 期待通りには動作しません。
?>