Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
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);
Преобразование дневного Юлианского счета в строку, содержащую дату Юлианского Календаря в формате "месяц/день/год".
JulianToJD
Преобразовывает дату Юлианского Календаря на дневной Юлианский счет.
Синтаксис:
int juliantojd(int month, int day, int year);
Правильный диапазон для Юлианского календаря 4713 д.э. до 9999 н.э.
Хотя это программное обеспечение может оперировать даты в обратном порядке до 4713 д.э. такое использование может быть бесполезно и не значительно. Календарь был создан в 46 д.э., но подробные не стабилизировался до по крайней мере 8 н.э., и возможно позднее в 4-ом столетии. Также, начало года различно от одной культуры к другой - не все соглашаются, что Январь это первый месяц.
JDToJewish
Преобразовывает дневной Юлианский счет в Еврейский календарь.
Синтаксис:
string jdtojewish(int julianday);
JewishToJD
Преобразовывает дату в Еврейском Календаре на дневной Юлианский счет.
Синтаксис:
int jewishtojd(int month, int day, int year);
Еврейский календарь использовался в течение нескольких тысячелетий, но в течение начального периода не было никакой формулы, чтобы определить начало месяца. Новый месяц начинался когда замечено полнолуние.
JDToFrench
Преобразовывает дневной Юлианский счет в Французский Республиканский календарь.
Синтаксис:
string jdtofrench(int month, int day, int year);
Преобразовывает дневной Юлианский счет в Французский Республиканский календарь.
FrenchToJD
Преобразовывает дату и Французского Республиканского календаря в дневной Юлианский счет.
Синтаксис:
int frenchtojd(int month, int day, int year);
Эта программа преобразовывают даты в начиная с 1 до 14 (Грегорианские даты 22 Сентября 1792 до 22 1806 Сентября). Это покрывает тот период когда календарь использовался.
JDMonthName
Возвращает название месяца.
Синтаксис:
string jdmonthname(int julianday, int mode);
Возвращает строку с названием месяца. julianday сообщает функции, в какой календарь нужно преобразовать древний Юлианский счет на, и какой тип месячных имен должен быть возвращен.
Календарные способы
JDDayOfWeek
Возвращает день недели.
Синтаксис:
mixed jddayofweek(int julianday, int mode);
Возвращает день недели. Может возвратить строку(string) или int в зависимости от способа(mode).
Календарные недельные пути
Файлы и сети
Работа с файлами
fopen
Открывает файл и привязывает его к дескриптору.
Синтаксис:
int fopen(string $filename, string $mode, bool $use_include_path=false)
Открывает файл с именем $filename в режиме $mode и возвращает дескриптор открытого файла. Если операция "провалилась", то функция возвращает false. Необязательный параметр use_include_path говорит о том, что, если задано относительное имя файла, его следует искать также и списке путей, используемом инструкциями include() и require(). Обычно этот параметр не используют.
Параметр $mode может принимать следующие значения:
Но это еще не полное описание параметра $mode. Дело в том, что в конце любой из строк r,w,a,r+,w+ и a+ может находиться еще один необязательный символ - b или t. Если указан b (или не указан вообще никакой), то файл открывается в режиме бинарного чтения/записи. Если же это t, то для файла устанавливается режим трансляции символа перевода строки, т.е. он воспринимается как текстовой.
tmpfile
Создает новый временный файл с уникальным именем и открывает его на чтение и запись.
Синтаксис:
int tmpfile()