可変関数

関数名を変数に代入し、関数ポインタのように利用する
例)array_values()とarray_keys()

$func = 'array_values';
$param = array('key1'=>'hoge', 'key2'=>'fuga', 'key3'=>'piyo');
$results = $func($param);
print_r($results);
出力結果:
Array ( [0] => hoge [1] => fuga [2] => piyo ) 
$func = 'array_keys'; ←関数名を変更
$param = array('key1'=>'hoge', 'key2'=>'fuga', 'key3'=>'piyo');
$results = $func($param);
print_r($results);
Array ( [0] => key1 [1] => key2 [2] => key3 ) 

配列にして任意の関数を呼び出す事も可能

$func = array('array_values', 'array_keys');
$param = array('key1'=>'hoge', 'key2'=>'fuga', 'key3'=>'piyo');
$results = $func[0]($param); ←array_values()をコール
print_r($results);
Array ( [0] => hoge [1] => fuga [2] => piyo )