Использование результата функции в качестве аргумента по умолчанию в функции PHP

Я пишу функцию, которая требует некоторых единиц даты, таких как «час», «минута» и «второй», но я хотел бы сделать эту опцию, и текущее время сервера используется по умолчанию.

В mktime(..) PHP mktime(..) я замечаю, что они используют вызовы функций для получения значения аргумента по умолчанию – но когда я пытаюсь это сделать, он не работает:

PHP выглядит так: mktime([int $hour = date("H")[,int $minute= date("i")[,etc...

И я попытался скопировать это в свою функцию точно так же (просто не так много аргументов, пока я не function myFunc([int $hour = date("H")[,int $minute= date("i")]]) { ): function myFunc([int $hour = date("H")[,int $minute= date("i")]]) {

Используя этот код, PHP сообщает мне Parse error: syntax error, unexpected '[', expecting '&' or T_VARIABLE in ...

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

 function myFunc($hour=null,etc...) { if($hour==null){$hour=date("H");} //etc... } 

Что касается обоснования того, почему я хочу знать это, кроме использования решения, которое я предоставил себе, я все еще изучаю PHP и хочу изучить лучшие практики.

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

Поэтому вы не можете напрямую использовать результат функции в качестве аргумента по умолчанию

Таким образом, единственный способ – это нулевой метод аргументов по умолчанию, который вы уже знаете.