Bermuda
Новичок
Параметры функции по умолчанию
<?
function foo($bar = "foo", $somevar) {
print $bar;
}
foo("bar", "somestring"); // выводит строку "bar"
foo(null, "somestring"); // ничего не выводит
?>
В последнем вызове функции я ожидаю, что переменная $bar примет значение "foo", потому как в функцию передали ноль, однако переменная $bar принимает нулевое значение, что кажется несколько нелогичным поведением.
Правильное ли это поведение, что переменная $bar при передаче в функцию нулевого значения не принимает значение по умолчанию?
Как сделать так, чтобы при передаче нулевого значения переменная принимала значение по умолчанию?
Конструкция foo(, "somestring"); не прокатывает. Параметры местами менять нельзя.
<?
function foo($bar = "foo", $somevar) {
print $bar;
}
foo("bar", "somestring"); // выводит строку "bar"
foo(null, "somestring"); // ничего не выводит
?>
В последнем вызове функции я ожидаю, что переменная $bar примет значение "foo", потому как в функцию передали ноль, однако переменная $bar принимает нулевое значение, что кажется несколько нелогичным поведением.
Правильное ли это поведение, что переменная $bar при передаче в функцию нулевого значения не принимает значение по умолчанию?
Как сделать так, чтобы при передаче нулевого значения переменная принимала значение по умолчанию?
Конструкция foo(, "somestring"); не прокатывает. Параметры местами менять нельзя.