شبكة تعلم مع ناو

ما هو العامل ?: (Elvis) في PHP؟

العامل ?: (يُسمى أحيانًا Elvis) يعطي القيمة الأولى إذا كانت truthy، وإلا يعطي الثانية:

$value = null;
$username = $value ?: "default";
echo $username;  // default

الفرق بينه وبين ??

  • ?: يستبدل أي قيمة falsy: null وfalse و0 و"" و"0".
  • ?? يستبدل فقط null والمتغير غير الموجود.
$count = 0;
echo $count ?: 10;  // 10
echo $count ?? 10;  // 0

انتبه

?: مع متغير غير معرّف يعطي تحذيرًا “Undefined variable”، بخلاف ??. اختر بينهما حسب ما تعتبره “قيمة فارغة” في حالتك.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.