Функции за променливи
PHP Manual

is_callable

(PHP 4 >= 4.0.6, PHP 5)

is_callable Показва дали съдържанието на променлива може да бъде извикано като функция

Описание

bool is_callable ( mixed $var [, bool $syntax_only [, string &$callable_name ]] )

Показва дали съдържанието на променлива, може да бъде извикано като функция. Функцията може да провери дали дадена променлива съдържа името на валидна функция или масив, съдържащ правилно кодиран обект и име на функция.

Параметри

var

Може да бъде или името на функция, записано в низова променлива, или обект с името на метод от този обект, като например:

array($SomeObject, 'MethodName')

syntax_only

Ако параметърът syntax_only има стойност TRUE, функцията проверява само дали var може да бъде функция или метод. Това ще отхвърли само единични променливи, които не са низове или масив, който има невалидна структура, за да се използва за обратно извикване. Валидните масиви трябва да имат само 2 елемента, първият от които да бъде обект или низ, а вторият - низ.

callable_name

Параметърът callable_name получава "callable name". В примера по-долу това е "someClass::someMethod". Забележете обаче, че независимо от извода, че someClass::SomeMethod() е статичен метод за обратно извикване, който може да бъде извикан - това не е така.

Връщани стойности

Връща TRUE ако параметърът var може да бъде извикан, иначе връща FALSE.

Примери

Example #1 Пример за is_callable()

<?php
//  Как да проверим, дали променлива може да бъде извикана
//  като функция.


//
//  Проста променлива, съдържаща функция
//

function someFunction() 
{
}

$functionVariable 'someFunction';

var_dump(is_callable($functionVariablefalse$callable_name));  // bool(true)

echo $callable_name"\n";  // someFunction

//
//  Масив, съдържащ метод
//

class someClass {

  function 
someMethod() 
  {
  }

}

$anObject = new someClass();

$methodVariable = array($anObject'someMethod');

var_dump(is_callable($methodVariabletrue$callable_name));  //  bool(true)

echo $callable_name"\n";  //  someClass::someMethod

?>

Вж. също


Функции за променливи
PHP Manual