Avatar ·

¿Qué significa el doble signo de interrogación (??) en PHP? El operador de fusión null

¡Hola a todos! Soy nuevo en PHP y me encontré con una sintaxis extraña en el código de otra persona. Allí estaba escrito algo como: ```php $username = $_GET['user'] ?? 'guest'; ``` Entiendo qué es `$_GET['user']` y qué es una asignación, pero estos dos signos de interrogación `??` me confundieron. Sé que un signo de interrogación `?` se usa en el operador ternario, por ejemplo `$a ? $b : $c`. Pero, ¿qué hace el doble `??`? Intenté buscar en Google, pero solo encontré explicaciones generales en inglés. Necesito entender en español cómo funciona y para qué sirve. ¿En qué situaciones se aplica? ¿Se puede prescindir de este operador usando construcciones antiguas? ¿Y hay algún inconveniente? Me interesa especialmente cómo funciona con arrays y formularios. A menudo necesito verificar si un valor llegó de una solicitud POST y, si no, asignar un valor por defecto. Antes escribía construcciones largas con `isset()`, pero quizás este operador simplifique el código. ¡Estaré agradecido!