Книга: Справочник по PHP
Функции для работы с функциями
Функции для работы с функциями
get_defined_functions
Возвращает перечень всех доступных функций.
Синтаксис:
array get_defined_functions()
Функция get_defined_functions() возвращает многомерный массив, который содержит имена всех доступных сценарию функций.
print_r(get_defined_functions);
function_exists
Проверяет существование функции.
Синтаксис:
bool function_exists(string fuction_name)
Функция function_exists() возвращает значение true, если функция с именем function_name имеется в сценарии. В противном случае возвращает false.
if(function_exists("imagecreate")) {
echo "Библиотека работы с графикой доступна!
";
} else {
echo "Библиотека работы с графикой недоступна!
";
};
call_user_func
Производит косвенный выбор функции.
Синтаксис:
mixed call_user_func(string function_name [, mixed parameter [, mixed ...]])
Функция call_user_func() вызывает функцию function_name и передает ей все остальные параметры parameter ...
<?php
function myFunc($str) {
echo $str;
};
call_user_func("myFunc", "Hello World");
?>
create_function
Динамическое создание функции.
Синтаксис:
string create_function(string args, string code)
Функция create_function() создает анонимную функцию и возвращает имя, созданное для этой функции. Аргументы функции, перечисленные в аргументе args, обычно передаются в одинарных кавычках. Также передается тело функции в аргументе code. Это необходимо для того, чтобы не допустить замену интерпретатором переменных на значения. Если всеже ограничивать двойными кавычками, то необходимо предварять указание переменных слешем :$var.
Обычно возвращаемые функцией имена содержат префикс lambda_.
При помощи этой функции можно создавать функции на основе информации, полученной во время исполнения сценария.
$func = create_function('$a,$b',
'return "$a*$b = ".$a*$b);');
echo "Имя новой функции: $func<br>";
echo $func(2,3);
Данный пример выведет следующее:
Имя новой функции: lambda_16
func_get_arg
Получение аргумента функции.
Синтаксис:
mixed func_get_arg(int arg_num);
Функция func_get_arg() возвращает указанный в arg_num агрумент, который был передан в текущую пользовательскую функцию в качестве параметра. Перечисление переданных в функцию параметров начинается с нуля.
В случае, если эта функция вызывается вне определения функции, то она выдает предупреждение об ошибке. Также предупреждение будет выдаваться при попытке узнать параметр, которого не существует в списке аргументов (функция возвратит false). Для того, чтобы функция работала корректно, необходимо заранее узнать общее количество параметров, которое передается в пользовательскую функцию с помощью функции func_num_args().
<?php
function func() {
$num_args=func_num_args();
echo "Число аргументов у этой функции: $num_args<br>";
for($i=0;$i<$num_args;$i++)
echo "$i агрумент: ".func_get_arg($i)."<br>";
};
func("2",1,"tree");
?>
func_get_args
Получение аргументов функции в массиве.
Синтаксис:
array func_get_args();
Функция func_get_args() возвращает в массиве список аргументов, с которым была вызвана текущая пользовательская функция. Если функция func_get_args() вызывается вне определения пользовательской функции, то выдается предупреждение об ошибке.
<?php
function func() {
$num_args = func_num_args();
echo "Число аргументов у этой функции: $num_args<br>";
$func_list = func_get_args();
for($i=0;$i<$num_args;$i++)
echo "$i агрумент номер $i: ".$func_list[$i]."<br>";
};
func("2",1,"tree");
?>
func_num_args
Возвращает число полученных аргументов в пользовательской функции.
Синтаксис:
int func_num_args();
Функция func_num_args() возвращает число аргументов, которые были переданы в текущую пользовательскую функцию.
Обычно эту функцию используют совместно с функциями func_get_arg() и func_get_args() в пользовательских функциях, которые могут принимать неопределенное количество параметров.
<?php
function func() {
$num_args = func_num_args();
echo "Число аргументов у этой функции: $num_args<br>";
$func_list = func_get_args();
for($i=0;$i<$num_args;$i++)
echo "$i агрумент номер $i: ".$func_list[$i]."<br>";
};
func("2",1,"tree");
?>
- Управление функциями узла
- Раздел VI Управление глобальной инфраструктурой Сети: в поисках оптимальной модели
- Булевые функции Функция boolean
- 6.2.7. Работаем с функциями
- Функции работы с данными
- 22.1. Сложные функции и сложности с функциями
- Логические функции определения типа переменной
- Использование переменной Variant при работе с массивами
- Глава 8 Работа с функциями XSLT и XPath
- Функции
- Логические функции XPath
- Типы данных для работы с датой и временем