Выбрать главу

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");

?>

Календарные функции

JDToGregorian

Преобразование дневного Юлианcкого счета в Грегорианскую дату.

Синтаксис:

string jdtogregorian(int julianday);

Преобразование дневного Юлианcкого счета в Грегорианскую в формате "месяц/день/год"

GregorianToJD

Преобразовывает Грегорианскую дату на Дневный Юлианский cчет.

Синтаксис:

int gregoriantojd(int month, int day, int year);

Правильный диапазон для Грегорианского календаря 4714 д.э. до 9999 н.э.

Хотя это программное обеспечение может оперировать даты в обратном порядке до 4714 д.э., такое использование может быть бесполезно и не значительно. Грегорианский календарь не был учрежден до Октября 15, 1582 (или Октябрь 5, 1582 в Юлианском календаре). Некоторые страны еще очень долго не принимали его. Например, Великобритания преобразовалась в 1752, СССР в 1918 и Греции в 1923. Наиболее Европейские страны использовали Юлианский Календарь До Грегорианского.

Пример:

<?php

$jd = GregorianToJD(10,11,1970);

echo("$jdn");

$gregorian = JDToGregorian($jd);

echo("$gregoriann");

?>

JDToJulian

Преобразовывает дату Юлианского календаря на дневный Юлианский счет.

Синтаксис:

string jdtojulian(int julianday);

Преобразование дневного Юлианского счета в строку, содержащую дату Юлианского Календаря в формате "месяц/день/год".