Volver a la página principal
lunes 10 febrero 2025
17

Cómo solucionar el error "Trying to access array offset on value of type null" en PHP

El error "Trying to access array offset on value of type null" en PHP ocurre cuando intentamos acceder a un índice de un array que en realidad es null. Esto es común cuando intentamos obtener datos de una variable que no ha sido definida o cuyo valor es null.

Causas del error

1. Variable no definida

echo $datos['nombre']; // Error si $datos es null

2. Acceder a un índice inexistente

$usuario = ['edad' => 25];
   echo $usuario['nombre']; // Error porque 'nombre' no existe en el array

3. Datos no recibidos correctamente (Ejemplo con $_POST o $_GET)

echo $_POST['email']; // Error si el formulario no envió 'email'

Soluciones

1. Usar isset() para verificar si la clave existe

if (isset($datos['nombre'])) {
    echo $datos['nombre'];
} else {
    echo "Nombre no definido";
}

2. Usar el operador de fusión (??)

Desde PHP 7, podemos usar ?? para definir un valor por defecto si la variable es null o no existe:

echo $datos['nombre'] ?? 'Valor por defecto';

3. Usar array_key_exists()

Si null es un valor válido y queremos verificar solo la existencia de la clave:

if (array_key_exists('nombre', $datos)) {
    echo $datos['nombre'];
} else {
    echo "Clave 'nombre' no existe en el array";
}

4. Validar formularios antes de acceder a $_POST o $_GET

$email = $_POST['email'] ?? 'No se recibió el email';
echo $email;
Etiquetas:
php
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer