function foo( string $str, array $arr = [], int $int = 123 ) {
$parameters = (new ReflectionFunction(__FUNCTION__))->getParameters();
foreach($parameters as $parameter) {
if ($parameter->getType()->getName()==='string') {
$parameterName = $parameter->getName();
$$parameterName = trim($$parameterName);
}
}
var_dump( $str );
}
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 );
}
Когда вы работаете с огромным массивом, как вы его будете передавать? Правильно, по ссылке, какие "ужасные последствия"? Никаких, но они будут, если вы так не сделаете.
Исходя из всего перечисленного, еще раз, дело не в ссылках, а в непонимании, как они работают. А для того чтобы "выстрелить себе в ногу" есть много возможностей, но ссылки в этом не виноваты.