いきおいで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); ?>