戻る

可変関数

プログラムを作っていると、条件によって呼び出す関数を使い分けたいシーンは多いでしょう。

下のような条件式によって呼び出す関数を分けることができます。(3種類の関数を使い分けています)。

この可変関数を使うと「$func = "keisan_".$suji」のように()をつけると、その変数の値と同名の関数が実行されるのです。少し上級の技になりますが、覚えておくと重宝します。

条件により処理を分けて実行

<?php
header("Content-type: text/html; charset=utf-8");

$suji = "1";

switch($suji){
	case "1":
		$value = keisan_1();
		break;
	case "2":
		$value = keisan_2();
		break;
	case "3":
		$value = keisan_3();
		break;
}

function keisan_1(){
	echo "1";
}

function keisan_2(){
	echo "2";
}

function keisan_3(){
	echo "3";
}

?>

上記処理を可変関数を使用して記述

<?php
header("Content-type: text/html; charset=utf-8");

$suji  = "1";
$func = "keisan_" . $suji;
$value = $func();

function keisan_1(){
	echo "1";
}

function keisan_2(){
	echo "2";
}

function keisan_3(){
	echo "3";
}

?>

inserted by FC2 system