Avatar ·

Was macht der Operator ?: (Elvis) in PHP und wie funktioniert er?

Hallo zusammen! Ich habe vor kurzem angefangen, PHP zu lernen, und bin auf einen seltsamen Operator `?:` gestoßen. In einem Projekt habe ich diesen Code gesehen: ```php $name = $_GET['name'] ?: 'Gast'; ``` Ich verstehe den normalen ternären Operator `? :`, aber hier gibt es nur ein Fragezeichen und einen Doppelpunkt. Es gibt keine Bedingung vor dem `?`. Wie funktioniert das? Was ist der "Elvis-Operator"? Ich habe versucht, lokal damit zu experimentieren: ```php $value = 0; $result = $value ?: 'Standardwert'; echo $result; // gibt 'Standardwert' aus ``` Warum hat `0` als false fungiert? Und was passiert, wenn die Variable nicht definiert ist? Wird das einen Fehler auslösen? Bitte erklären Sie für einen Anfänger: In welchen Fällen sollte man `?:` anstelle des normalen ternären Operators oder `??` (null coalescing) verwenden? Wann sollte man es einsetzen und wann besser vermeiden? Vielen Dank im Voraus! <<>>

Was ist der Elvis-Operator (?:)

Der Operator ?: (Elvis-Operator) ist eine Kurzform des ternären Operators. Er wurde in PHP 5.3 eingeführt.