¿Qué es null/nil en PHP y cómo trabajar con ello?
¡Hola a todos! Soy nuevo en PHP y estoy tratando de entender el tipo null (o nil, como a veces se le llama). En la documentación dice que es un valor especial que significa «ausencia de valor», pero en la práctica me encuentro con errores extraños.
Por ejemplo, escribo un código simple:
$user = getUserFromDatabase($id); // la función puede devolver null si el usuario no se encuentra
echo $user->name;
Si el usuario se encuentra, todo funciona, pero si no, aparece un error "Trying to get property 'name' of non-object". Entiendo que debo verificar si es null, pero ¿cómo hacerlo correctamente? Probé if ($user != null) y if (is_null($user)), pero a veces el comportamiento es diferente. También escuché sobre el operador ?? (null coalescing) — ¿funciona solo para variables o también para propiedades?
Otra pregunta: ¿cómo distinguir null de una cadena vacía o false? Tuve una situación donde