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

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

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”، بخلاف ??. اختر بينهما حسب ما تعتبره “قيمة فارغة” في حالتك.

اختبر فهمك

ماذا يطبع الكود التالي؟

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

echo $username;