Math Functions

abs() – القيمة المطلقة

📌 تُعيد القيمة الموجبة للعدد.

echo abs(-5);  // 5
echo abs(3);   // 3
PHP

🟢 الفائدة: تُستخدم عندما نحتاج الفرق بين رقمين دون اعتبار للإشارة.

mt_rand() – توليد رقم عشوائي (أفضل من rand())
echo mt_rand(1, 10);  // رقم بين 1 و 10
PHP

🟢 الفوائد:

  • أسرع وأفضل في الأداء من rand().
  • جيد للألعاب أو اختيار عشوائي.

⚠️ محاذير:

  • غير مناسب للتشفير (cryptography).
  • استخدم random_int() للتشفير بدلًا منه.
intdiv() – القسمة الصحيحة (بدون باقي)
echo intdiv(10, 3);  // 3
echo intdiv(15, 5);  // 3
PHP

🟢 الفائدة:

  • تُستخدم عند الرغبة في تجاهل الباقي والحصول على الناتج الصحيح فقط.
  • مثل // في بعض اللغات.
fmod() – باقي القسمة (float)
echo fmod(10, 3);  // 1
echo fmod(5.5, 2); // 1.5
PHP

🟢 الفائدة:

  • تُعيد الباقي العشري عند قسمة الأرقام.
  • أدق من % عندما تكون الأرقام عشرية.
ceil() – التقريب للأعلى
echo ceil(4.1);   // 5
echo ceil(-2.3);  // -2
PHP

🟢 الفائدة:

  • تُستخدم عندما نريد دائمًا التقريب إلى الرقم الأكبر.
  • مفيدة عند حساب الفواتير مثلًا: 4.01 تصبح 5.
floor() – التقريب للأسفل
echo floor(4.9);   // 4
echo floor(-2.3);  // -3
PHP

🟢 الفائدة:

  • عكس ceil() تمامًا.
  • تستخدم كثيرًا في توزيع العناصر على صفحات مثل pagination.
round() – التقريب لأقرب رقم
echo round(4.4);   // 4
echo round(4.6);   // 5
echo round(4.5);   // 5
echo round(-4.5);  // -4 (حسب نوع التقريب)
PHP

🛠️ خيارات إضافية:

echo round(3.14159, 2); // 3.14
echo round(3.14159, 3); // 3.142
PHP

🟢 الفائدة:

  • التقريب الطبيعي للأرقام.
  • ممتاز عندما نريد عرض رقم مقرب بعدد معين من الخانات.

⚠️ محاذير:

  • ممكن أن تختلف نتائج round(-4.5) حسب البيئة (Round Half Up vs Down).
  • للتقريب المالي استخدم number_format() أحيانًا.

🧠 ملخص سريع للفروقات:

الدالةماذا تفعل؟مثال
abs()تحويل الرقم إلى موجبabs(-3) → 3
mt_rand()رقم عشوائي سريعmt_rand(1, 5)
intdiv()قسمة بدون باقيintdiv(7, 2) → 3
fmod()باقي القسمة مع الأعداد العشريةfmod(7.5, 2) → 1.5
ceil()التقريب للأعلىceil(3.2) → 4
floor()التقريب للأسفلfloor(3.8) → 3
round()التقريب لأقرب رقمround(3.6) → 4