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