Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

いきおいでPHPを勉強する。その2

関数呼び出し

ユーザ定義関数を使用する

<html>
<head>
<title>関数を使用する</title>
</head>
<body>
<?php
// ●パラメータの既定値がある関数を定義する
function get_ret_message($code = 0) {

    switch ($code) {
        case 0:
            $message = "正常終了";
            break;
        case 1:
            $message = "エラー";
            break;
    }
    return $message;
}

// パラメータを指定して呼び出す
echo "<p>終了メッセージ:".get_ret_message(1);

// パラメータを省略してパラメータを呼び出す
echo "<p>終了メッセージ:".get_ret_message();

?>
</body>
</html>

ユーザ関数の呼びだし方

これはあまりなれない。
どちらでも良いみたいだけど。。。

<?php
// 例1
// 関数を定義する
function get_total_charge($kingaku) {
    $total = $kingaku * 1.05;
    return $total;
}

echo "<p>合計金額:".call_user_func("get_total_charge", 10000);
echo "<p>合計金額:".get_total_charge(10000);
?>

関数名を動的に指定する

関数名を文字列結合で呼び出せるのは便利だ。

<html>
<head>
<title>実行する関数名を動的に指定する</title>
</head>
<body>
<?php
// 関数を定義する
function f1($prm) {
    echo "<p>関数" . $prm . "が実行されました。";
}

function f2($prm) {
    echo "<p>関数" . $prm . "が実行されました。";
}

$num = 1;
echo call_user_func("f".$num, $num);
?>
</body>
</html>

定義済の関数名を表示する

PHP: get_defined_functions - Manual

<?php
// 関数を定義する
function func1() {}
function func2() {}
function func3() {}

$array = get_defined_functions();

// ユーザ定義関数名を表示する
echo "<p>ユーザ定義関数名を表示:";
print_r($array["user"]);

// 全ての関数名を表示する
echo "<p>関数名を表示:";
print_r($array);
?>