is_callable( callable $name[, bool $syntax_only[, string &$callable_name]] )

is_callable( callable $name[, bool $syntax_only[, string &$callable_name]] )は、変数「$name」が、関数やメソッドを呼び出せるかどうかを調べる組み込み関数。

定義

論理型 is_callable( コールバック $name[, 論理型 $syntax_only[, 文字列型 &$callable_name]] );

パラメータ

コールバック $name

関数やメソッドを呼び出せるかどうかを調べたい変数を指定。

論理型 $syntax_only

文字列型 &$callable_name

呼び出し名を受け取る。

戻り値

論理値。

「コールバック $name」が、関数やメソッドを、呼び出し可能であれば「TRUE」、呼び出し可能でなければ「FALSE」を返す。

構文

変数が、関数やメソッドを呼び出せるかどうかを調べる

論理値 = is_callable( 変数 );

「変数」が、関数やメソッドを、呼び出し可能であれば「TRUE」、呼び出し可能でなければ「FALSE」を返す。

サンプル

変数が、関数を呼び出せるかどうかを調べる(1)

<?php
function sample() {
}
$var = "sample";
echo is_callable( $var ) ? "TRUE" : "FALSE";
?>

↓↓↓出力結果↓↓↓

TRUE

変数が、関数を呼び出せるかどうかを調べる(2)

<?php
function sample() {
}
$var = "sample";
var_dump( is_callable( $var, true, $varCallName ) );
echo "<br />{$varCallName}";
?>

↓↓↓出力結果↓↓↓

bool(true)
sample

変数が、メソッドを呼び出せるかどうかを調べる(1)

<?php
class taxClass
{
    public $varTax = 0.05;
    function func_tax( $var ) {
        return $var * ( 1 + $this->varTax );
    }
}
$varClass = new taxClass();
$varMethod = array( $varClass, func_tax );
var_dump( is_callable( $varMethod ) );
?>

↓↓↓出力結果↓↓↓

bool(true)

変数が、メソッドを呼び出せるかどうかを調べる(2)

メソッドの呼び出し名も取得。

<?php
class taxClass
{
    public $varTax = 0.05;
    function func_tax( $var ) {
        return $var * ( 1 + $this->varTax );
    }
}
$varClass = new taxClass();
$varMethod = array( $varClass, func_tax );
var_dump( is_callable( $varMethod, true, $varCallName ) );
echo "<br />{$varCallName}";
?>

↓↓↓出力結果↓↓↓

bool(true)
taxClass::func_tax

スポンサード リンク

カテゴリー: PHP, 変数操作, 組み込み関数 タグ: パーマリンク