is_callable()の第二引数の使い方
いつもお世話になっています。
PHPの勉強を始めた初心者です。
is_callable()の第二引数の使い方がよく分りません。
true に設定すると、$name が文字列型である場合には、常に bool(true)を返します。
どういう時に、役に立つのでしょうか?
お教えいただければ幸いです。
<?php
// http://php.net/manual/ja/function.is-callable.php:
/*
bool is_callable ( callback $name [, bool $syntax_only = false [, string &$callable_name ]] )
syntax_only
TRUE の場合、この関数は単に name が関数またはメソッドであるかどうかだけを調べます。
文字列以外の型の変数や不正な形式の配列は、引数として受け付けられません。
*/
class someClass {
function someMethod() {
print "hello from someMethod\n";
}
}
$varInt = 1;
$varString = "string";
$varObject = new someClass();
$varMethod = array($varObject, 'someMethod');
var_dump(is_callable($varInt, true)); // bool(false)
var_dump(is_callable($varInt, false)); // bool(false)
var_dump(is_callable($varString, true)); // bool(true)
var_dump(is_callable($varString, false)); // bool(false)
var_dump(is_callable($varMethod, true)); // bool(true)
var_dump(is_callable($varMethod, false)); // bool(true)
$varObject->someMethod();
[study_php@localhost ch05]$ php is_callable_Test.php
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)
bool(true)
hello from someMethod
[study_php@localhost ch05]$