if (array_key_exists(0, $var)) { ... }, но довольно быстро становится плохо читаемым, если вложенность глубже. isset() в случаях более глубокой вложенности тоже не работает, а вот null coalescing - работает, поэтому он и был предложен
люди поняли, что нул возвращать нельзя лет так 25 назад
Это как в ответе ниже?
function foo( string $str, array $arr = [], int $int = 123 ) {
foreach( func_get_args() as $argument ) {
if ( is_string( $argument ) ) {
$argument = trim( $argument );
}
}
var_dump( $str );
}
Если же, посмотреть на задачу, как just fo fun, то для решения, можно нагородить такое: