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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> function test($a=1, $b=2); a(,5); 
:(
    Опции темы
Валерия
Дата 9.12.2008, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Есть функция
Код

function test($a=1, $b=2){
 echo "$a $b";
}
Мне нужно указать только второй аргумент, что бы первый был тот что по умолчанию, не меняя их местами.
Как сделать?
Когдато давно видела где-то  smile  что можно вызвать как
Код
a(,5);
Но такое не работает...
PM MAIL   Вверх
NLspieler
Дата 9.12.2008, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 16
Всего: 19



Никак нельзя.

PM MAIL   Вверх
gta4kv
Дата 9.12.2008, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Код

function test( $a = 1, $b = 2 )
{
         echo "{$a} {$b}";
}
test( null, 5 );


Добавлено через 1 минуту и 42 секунды
а, не, вру.
так нельзя :(
PM MAIL   Вверх
Sunvas
Дата 9.12.2008, 21:17 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


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

Репутация: 8
Всего: 89



Можно просто перенести дэфолтовое значение в саму функцию. Это будет выглядеть так:
Код

function test($a=null, $b=2){
if($a===null)
 $a=1;
 echo "$a $b";
}

test(null,3);



--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Nikol
Дата 10.12.2008, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 2
Всего: 4



т.е. первый аргумент всегда какая-то константа, например 1, а второй - тот который передается в функцию на первом месте? Может так можно:
Код

function test($a=1, $b=2){
 $b = $a;
 $a = 1;
 echo "$a $b";
}

 и можно передавать один параметр smile 
--------------------
Я не волшебник, я только учусь.
PM MAIL WWW ICQ   Вверх
teroni
Дата 10.12.2008, 02:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 8
Всего: 22



Напрямую нельзя. Те переменные, для которых планируется использовать дефолтные значения, должны быть в объявлении функции за переменными, у которых нету дефолтных значений.
То есть наилучший путь писать просто поменять $a и $b местами. Второй вариант уже написан выше - передавать в функцию какой-то стандартный аргумент $a (напр. null) и в теле функции проверять, если  $a равно null - то ставить значение по умолчанию.
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.0497 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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