Каков наилучший способ доступа к неизвестным элементам массива без генерации уведомления PHP?

Если у меня есть этот массив,

ini_set('display_errors', true);
error_reporting(E_ALL);

$arr = array(
  'id' => 1234,
  'name' => 'Jack',
  'email' => '[email protected]',
  'city' => array(
    'id' => 55,
    'name' => 'Los Angeles',
    'country' => array(
      'id' => 77,
      'name' => 'USA',
     ),
  ),
);

Я могу получить название страны с

$name = $arr['city']['country']['name'];

Но если массива страны не существует, PHP выдаст предупреждение:

Notice: Undefined index ... on line xxx

Конечно, я могу сделать тест в первую очередь:

if (isset($arr['city']['country']['name'])) {
  $name = $arr['city']['country']['name'];
} else {
  $name = '';  // or set to default value;
}

Но это неэффективно. Каков наилучший способ получить$arr['city']['country']['name'] without generating PHP Notice if it doesn't exist?

Ответы на вопрос(2)

Ваш ответ на вопрос