Вход/Регистрация
Курс "Язык программирования PHP"
вернуться

Савельева Нина Владимировна

Шрифт:

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

Когда аргумент передается в функцию по значению, изменение значения аргумента внутри функции не влияет на его значение вне функции. Чтобы позволить функции изменять ее аргументы, их нужно передавать по ссылке. Для этого в определении функции перед именем аргумента следует написать знак амперсанд «&».

<?php

// напишем функцию, которая бы добавляла

// к строке слово checked

function add_label(&$data_str){

$data_str .= "checked";

}

$str = "<input type=radio name=article ";

// пусть имеется такая строка

echo $str ."><br>";

// выведет элемент формы –

// не отмеченную радио кнопку

add_label($str);

// вызовем функцию

echo $str ."><br>";

// это выведет уже отмеченную

// радио кнопку

?>

В функции можно определять значения аргументов, используемые по умолчанию. Само значение по умолчанию должно быть константным выражением, а не переменной и не представителем класса или вызовом другой функции.

У нас есть функция, создающая информационное сообщение, подпись к которому меняется в зависимости от значения переданного ей параметра. Если значение параметра не задано, то используется подпись "Оргкомитет".

<?php

function Message($sign="Оргкомитет."){

// здесь параметр sign имеет по умолчанию значение "Оргкомитет"

echo "Следующее собрание состоится завтра.<br>";

echo "$sign<br>";

}

Message;

// вызываем функцию без параметра.

// В этом случае подпись – это Оргкомитет

Message("С уважением, Вася");

// В этом случае подпись

// будет "С уважением, Вася."

?>

Результатом работы этого скрипта будет:

Следующее собрание состоится завтра.

Оргкомитет.

Следующее собрание состоится завтра.

С уважением, Вася.

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

Например, мы хотим внести описание статьи в каталог. Пользователь должен ввести такие характеристики статьи, как ее название, автор и краткое описание. Если пользователь не вводит имя автора статьи, считаем, что это Иванов Иван.

<?php

function Add_article($title, $description,

$author="Иванов Иван"){

echo "Заносим в каталог статью: $title,";

echo "автор $author";

echo "<br>Краткое описание: ";

echo "$description <hr>";

}

Add_article("Информатика и мы",

"Это статья про информатику ...",

"Петров Петр");

Add_article("Кто такие хакеры",

"Это статья про хакеров ...");

?>

В результате работы скрипта получим следующее

Заносим в каталог статью: Информатика и мы,

автор Петров Петр.

Краткое описание:

Это статья про информатику...

Заносим в каталог статью: Кто такие хакеры,

автор Иванов Иван.

Краткое описание:

Это статья про хакеров...

Если же мы напишем вот так:

<?php

function Add_article($author="Иванов Иван",

$title, $description){

  • Читать дальше
  • 1
  • ...
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: