Avatar ·

ماذا يعني علامة الاستفهام المزدوجة (??) في PHP؟ عامل الدمج مع null

مرحبًا بالجميع! أنا مبتدئ في PHP وقد صادفت بناء جملة غريبًا في كود شخص آخر. كان هناك شيء مكتوب مثل: ```php $username = $_GET['user'] ?? 'ضيف'; ``` أنا أفهم ما هو `$_GET['user']` وما هو التعيين، لكن علامتي الاستفهام هاتين `??` أربكتني. أعلم أن علامة الاستفهام الواحدة `?` تُستخدم في العامل الثلاثي، مثل `$a ? $b : $c`. لكن ماذا تفعل العلامة المزدوجة `??`؟ حاولت البحث في جوجل، لكني وجدت فقط شروحات عامة بالإنجليزية. أحتاج أن أفهم بالعربية كيف يعمل هذا ولماذا هو مطلوب. في أي الحالات يُستخدم هذا؟ هل يمكن الاستغناء عن هذا العامل باستخدام تركيبات قديمة؟ وهل هناك أي مخاطر خفية؟ أنا مهتم بشكل خاص بكيفية عمله مع المصفوفات والنماذج. غالبًا ما أواجه موقفًا حيث أحتاج للتحقق مما إذا كانت القيمة قد أتت من طلب POST، وإذا لم تكن كذلك، أضع قيمة افتراضية. كنت سابقًا أكتب تركيبات طويلة باستخدام `isset()`، لكن ربما هذا العامل سيبسط الكود؟ سأكون ممتنًا