Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как пропустить вызов параметра функции 
:(
    Опции темы
neokoder
Дата 22.1.2011, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 14.4.2010

Репутация: нет
Всего: -3



Привет коллеги.

В php есть возможность указать значение параметра функции по умолчанию. Как при вызове функции пропустить(т.е. не давать вообще значение параметра) чтобы использовался параметр по умолчанию?

Например есть функция:
Код

function many_params_get($offset, $str,$p=4,$tr=false)


Как вызвать её без указания 3-го параметра, вот так к примеру(не работает к сожалению в php):

Код

many_params_get(4,"123",,true);



Это сообщение отредактировал(а) neokoder - 22.1.2011, 00:15
PM MAIL   Вверх
patap
Дата 22.1.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



передать значение, равное значению по умолчанию


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
skyboy
Дата 22.1.2011, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



никак. именнованных параметров в текущий момент в РНР не имеется. вариант же записи с "подряд идущими кавычками" не просто ужасна, но и чревата возможными ошибками.
потому остается только один вариант: вместо кучи параметров передавать один - ассоциативный массив. такая себе замена именованных параметров:
Код

function test($params = array()) {
$defaultParams = array('a'=> 1, 'b'=> 'sss');
$params = array_replace_recursive($defaultParams, $params);
...
}

test(array('a'=> 22));

PM MAIL   Вверх
neokoder
Дата 22.1.2011, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 14.4.2010

Репутация: нет
Всего: -3



Понятно. Спасибо.

Цитата(patap @  22.1.2011,  00:39 Найти цитируемый пост)
передать значение, равное значению по умолчанию

Но тогда теряется смысл в том чтобы присваивать значения по умолчанию в функции вообще.

В общем понял. В принципе не такая уж и большая беда если нет такой возможности. Просто неудобность малая.

PM MAIL   Вверх
нуп
Дата 22.1.2011, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Код

many_params_get(4,"123", '',true);



Это сообщение отредактировал(а) нуп - 22.1.2011, 22:50
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.