NULL по умолчанию в объявлении функции

Почему мы должны объявить $slug аргумент по умолчанию NULL в функции?
Что изменится, если мы не объявим его по умолчанию NULL?

Похоже, что ничего не изменится

public function view($slug = NULL)
{
$data['news_item'] = $this->news_model->get_news($slug);

if (empty($data['news_item']))
{
show_404();
}
...

0

Решение

У вас есть возможность установить значение по умолчанию (NULL в вашем случае), что делает этот аргумент необязательным, а не обязательным. Вот почему вам кажется, что это не нужно, вы, вероятно, вызываете эту функцию только с аргументом.

Вы можете посмотреть это Вот.

1

Другие решения

Нет параметра по умолчанию:

Когда вы пишете функцию с этим заголовком

public function view($slug)

Вы должны передать параметр при вызове этой функции.
В противном случае это приведет к ошибке.

Параметр по умолчанию:

public function view($slug = NULL)

С этим заголовком вы можете, но не обязаны передавать параметр.

0

Сделать параметр необязательным.

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

Допустим, у вас есть такая функция;

function testFunction($a = 1)
{
return $a;
}
// When u call it
echo testFunction(); // prints 1
echo testFunction(2); // prints 2
0
По вопросам рекламы [email protected]