🐘 شرح PHP

العوامل (Operators)

العوامل الحسابية

<?php
echo 7 + 3;    // 10
echo 7 - 3;    // 4
echo 7 * 3;    // 21
echo 7 / 2;    // 3.5
echo 7 % 2;    // 1 (الباقي)
echo 2 ** 3;   // 8 (الأُس)
?>

عوامل المقارنة

<?php
var_dump(5 == "5");    // true (يقارن القيمة فقط)
var_dump(5 === "5");   // false (يقارن القيمة والنوع)
var_dump(5 != 3);      // true
var_dump(5 <=> 3);     // 1 (عامل السفينة الفضائية)
?>

⚠️ مهم: == يقارن القيمة فقط (مع تحويل تلقائي)، و=== يقارن القيمة والنوع. فضّل === لتجنّب مفاجآت التحويل.

عامل السفينة الفضائية <=>

يُرجع -1 أو 0 أو 1 — مفيد للترتيب:

<?php
echo 1 <=> 2;   // -1 (أصغر)
echo 2 <=> 2;   // 0  (يساوي)
echo 3 <=> 2;   // 1  (أكبر)
?>

العوامل المنطقية

<?php
var_dump(true && false);   // false (و)
var_dump(true || false);   // true  (أو)
var_dump(!true);           // false (نفي)
?>

دمج null (??)

يُرجع القيمة الأولى غير المعدومة — مثالي للقيم الافتراضية:

<?php
$username = $_GET["user"] ?? "زائر";
// لو user غير موجود → "زائر" بلا خطأ

$config ??= "افتراضي";   // أسند فقط إن كان null
?>

العوامل النصّية

<?php
$a = "مرحبا";
$a .= " بالعالم";   // الدمج والإسناد
echo $a;            // مرحبا بالعالم
?>

أخطاء شائعة

  • استخدام == حيث يجب === فتحدث مقارنات غير متوقّعة (مثل 0 == "نص").
  • نسيان ?? والاعتماد على فحوص isset مطوّلة.

🎯 التالي: الشروط (if/switch/match).