Но вы можете сделать это,
function avg(...$args)
{
list($a, $b) = $args + [1, 2];
$a = !empty($a) ? $a : 1;
return $a + $b;
}
print_r(avg(3, 4)); // Correct Result: 7
print_r(avg(2)); // Expected result: 4
print_r(avg(null, 5)); // Expected result: 6
Демо .
Невозможно пропустить аргументы, которые вы сделали таким образом.Вы можете достичь этого, только если они находятся в конце списка параметров.
Было уже много предложений, отправленных в этом отношении, но, к сожалению, отклонено оттуда.
Вы можете увидеть эти здесь .