Как я устанавливаю дополнительный параметр в PHP после первого дополнительного параметра

Это также хорошо для Поблочного тестирования, можно ввести собственные классы (которые отвечают требованиям интерфейса) в класс, который зависит от него

5
задан random 27 July 2009 в 12:57
поделиться

2 ответа

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

Вы можете либо добавить строки, подобные

  $vega = $vega ? $vega : 'carrot';

, и вызвать функцию как

testParam('apple',false,'something');

, либо использовать более общую технику передачи параметров в массиве с именами параметров в качестве ключей. Что-то вроде

function testparam($parms=false) {
    $default_parms = array('fruit'=>'orange', 'vega'=>'peas', 'starch'=>'bread');
    $parms = array_merge($default_parms, (array) $parms);
    echo '<br>fruit  = $parms[fruit]';
    echo '<br>vega   = $parms[vega]';
    echo '<br>starch = $parms[starch]';
}

testparm('starch'=>'pancakes');
//we get:
//fruit = orange
//vega  = peas
//starch = pancakes

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

7
ответ дан 14 December 2019 в 01:14
поделиться

К сожалению, вы не можете сделать это в PHP.

Вы должны передать 0 , или null , или какое-либо другое значение, а затем, если значение равно 0 или null , измените его на значение по умолчанию.

Здесь - еще один вопрос, который должен дать вам больше информации.

2
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: