PHP null безопасный оператор для доступа к массивам

#php

Вопрос:

Afaik, оператор null safe не работает с массивами, есть ли другой способ добиться того же эффекта с помощью цепочки массивов?

Например:

 $array = [];

if (isset($array['a'])) {
    if (isset($array['a']['b'])) {
        // run
    }
}
 

становится:

 $array<null-safe-oprator>['a']<null-safe-operator>['b'];
 

Поиск в Гугле ничего не показывает по этой теме.

Комментарии:

1. Как вы думаете, почему это не работает с массивами?

2. @Бармар, я попробовал это

3. Для массивов такого ярлыка нет, но вы, безусловно, можете сделать что-то вроде if( !isset($array['a'], $array['a']['b'])) throw new Exception("Missing value"); вложения нескольких if блоков.

4. Ты можешь просто сделать if(isset($array['a']['b'])) . isset() не выдает ошибку, если промежуточные уровни не установлены.

5. В зависимости от варианта использования (это оператор if или присвоение переменной?) оператор объединения нулей может быть тем, что вы ищете. У вас может быть что-то вроде $value = $array['a']['b'] ?? "fallback value"; .