Avatar ·

Que signifie le double point d'interrogation (??) en PHP ? L'opérateur de coalescence des null

Bonjour à tous ! Je suis débutant en PHP et je suis tombé sur une syntaxe étrange dans le code de quelqu'un d'autre. Il y avait écrit quelque chose comme : ```php $username = $_GET['user'] ?? 'гость'; ``` Je comprends ce qu'est `$_GET['user']` et ce qu'est une affectation, mais ces deux points d'interrogation `??` m'ont dérouté. Je sais qu'un seul point d'interrogation `?` est utilisé dans l'opérateur ternaire, par exemple `$a ? $b : $c`. Mais que fait le double `??` ? J'ai essayé de chercher sur Google, mais je n'ai trouvé que des explications générales en anglais. J'ai besoin de comprendre en français comment cela fonctionne et à quoi cela sert. Dans quelles situations cela s'applique-t-il ? Peut-on s'en passer en utilisant d'anciennes constructions ? Et y a-t-il des pièges ? Ce qui m'intéresse particulièrement, c'est comment cela fonctionne avec les tableaux et les formulaires. J'ai souvent besoin de vérifier si une valeur provient d'une requête POST, et si ce n'est pas le cas, de mettre une valeur par défaut. Avant, j'écrivais de longues constructions avec `isset()`, mais peut-être que cet opérateur simplifiera le code ? Je vous remercie d'avance.