Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5 для начинающих

  Все выпуски  

ФУНКЦИИ: Пользовательские функции - Передача аргументов (Переменное количество аргументов)


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны. С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5: Новые возможности".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5 для начинающих

Аннотация

Функции с произвольным количеством аргументов.

Ранее утверждалось, что количество данных, передаваемых в функцию, должно соответствовать количеству объявленных аргументов этой функции. На самом деле, начиная с PHP 4, количество передаваемых данных не должно быть меньше количества объявленных аргументов, но может быть большим. Таким образом, появляется возможность разрабатывать функции с переменным (произвольным) количеством аргументов.

Такая возможность существует благодаря наличию следующих трех встроенных функций: func_num_args(), func_get_arg() и func_get_args().

Функция func_num_args(). Возвращает количество аргументов, полученных функцией.


function foo()
{
    $num = func_num_args();
    print $num;
}
                
foo('first');
1
foo('first', 'second', 'third');
3

Функция func_get_arg(). Возвращает полученный функцией аргумент с заданным номером.

function foo()
{
    $num = func_num_args();
    if ($num) {
        $arg = func_get_arg(0);
        print "The 1st argument of $num is: $arg";
    }
}
                
foo('first', 'second');
The 1st argument of 2 is: first

Функция func_get_args(). Возвращает массив аргументов, полученных функцией.


function foo()
{
    $args = func_get_args();
    print_r($args);
}
                
foo('first', 'second');
Array
(
    [0] => first
    [1] => second
)
                

Замечание

Все три рассмотренные функции, во-первых, не могут быть вызваны за пределами пользовательских функций, а, во-вторых, возвращаемое ими значение не может быть передано в другую функцию непосредственно (сначала его необходимо присвоить переменной и передавать уже эту переменную). Кроме того, эти функции игнорируют необязательные аргументы, которые не были переданы при вызове пользовательской функции.

Created with DocBook Created with Libxslt


В избранное