¿Cuál es la mejor manera de acceder a elementos de matriz desconocidos sin generar un aviso de PHP?
Si tengo esta matriz,
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',
),
),
);
Puedo obtener el nombre del país con
$name = $arr['city']['country']['name'];
Pero si la matriz del país no existe, PHP generará una advertencia:
Notice: Undefined index ... on line xxx
Claro que puedo hacer la prueba primero:
if (isset($arr['city']['country']['name'])) {
$name = $arr['city']['country']['name'];
} else {
$name = ''; // or set to default value;
}
Pero eso es ineficiente. ¿Cuál es la mejor manera de conseguirlo?$arr['city']['country']['name']
sin generar PHP ¿Aviso si no existe?