Я часто вижу, что пишут примерно такой код.
if(isset($arr['a']) && isset($arr['a']['b']) && isset($arr['a']['b']['c'])) {
$v = $arr['a']['b']['c'];
}
else {
$v = null;
}
Но ведь тоже самое, можно написать компактнее, воспользовавшись подавлением ошибки доступа к элементам массива. В случае ошибки будет возвращен null.
$v = @$arr['a']['b']['c'];
Почему многие предпочитают первый способ? Религия не позволяет использовать подавление ошибок даже для минимального выражения? Или есть еще какие-то причины?