Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
function price($amount, $discount = 0, $tax = 20)
{
return $amount - $discount + $tax;
}
echo price(100, tax: 0), ' ', price(100, 5), "\n";100 115
- Ждать ошибки из-за пропущенного
$discount: параметр со значением по умолчанию можно не передавать, а именованный аргумент после него сразу задаёт$tax. - Считать, что
5вprice(100, 5)попадёт в$tax: позиционные аргументы заполняют параметры слева направо, поэтому5— это$discount, и вызов считает100 - 5 + 20.
- Что произойдёт при вызове
price(tax: 0)без первого аргумента? - Почему PHP отвергает вызов
price(tax: 0, 100)ещё до запуска программы?