/ دورة PHP الشاملة
0/13 مكتملة
📦 الدرس 2 من 13

المتغيرات وأنواع البيانات

كيف نخزن البيانات في PHP؟

🕐 30-45 دقيقة 📝 5 أسئلة 💻 3 أمثلة برمجية

المتغيرات في PHP

المتغير هو وعاء لتخزين البيانات. في PHP كل متغير يبدأ بعلامة الدولار $ تليها اسم المتغير.

قواعد تسمية المتغيرات:
  • يبدأ بـ $ ثم حرف أو underscore
  • لا يبدأ برقم
  • حساس لحالة الأحرف: $name$Name
  • يمكن استخدام أحرف، أرقام، و underscore فقط

لا تحتاج لتحديد النوع! PHP تحدد نوع المتغير تلقائياً حسب القيمة المخصصة له. هذا يُسمى Dynamic Typing.
PHP
<?php
// تعريف المتغيرات
$name = "أحمد محمد";        // نص (String)
$age = 25;                  // عدد صحيح (Integer)
$gpa = 3.75;               // عدد عشري (Float)
$isStudent = true;         // منطقي (Boolean)
$address = null;           // فارغ (Null)

// عرض المتغيرات
echo "الاسم: " . $name . "<br>";
echo "العمر: " . $age . " سنة<br>";
echo "المعدل: " . $gpa . "<br>";

// PHP حساسة لحالة الأحرف
$Color = "أحمر";
$color = "أزرق";
echo $Color . " و " . $color; // أحمر و أزرق
?>
الناتج المتوقع
الاسم: أحمد محمد العمر: 25 سنة المعدل: 3.75 أحمر و أزرق

أنواع البيانات

PHP تدعم 8 أنواع من البيانات:

الأنواع البدائية (Scalar):
  • string — نص: "مرحبا" أو 'hello'
  • integer — عدد صحيح: 42, -10
  • float — عدد عشري: 3.14, -0.5
  • boolean — منطقي: true أو false
الأنواع المركبة (Compound):
  • array — مصفوفة
  • object — كائن
الأنواع الخاصة (Special):
  • null — قيمة فارغة
  • resource — مرجع لمورد خارجي
PHP
<?php
$str  = "مرحبا";
$int  = 42;
$flt  = 3.14;
$bool = true;
$arr  = [1, 2, 3];
$null = null;

// var_dump: يعرض النوع والقيمة معاً
var_dump($str);   // string(6) "مرحبا"
var_dump($int);   // int(42)
var_dump($flt);   // float(3.14)
var_dump($bool);  // bool(true)
var_dump($null);  // NULL

echo "<br>";
// gettype: يعرض اسم النوع فقط
echo gettype($str)  . "<br>";  // string
echo gettype($int)  . "<br>";  // integer
echo gettype($bool) . "<br>";  // boolean
?>
الناتج المتوقع
string(6) "مرحبا" int(42) float(3.14) bool(true) NULL string integer boolean

تحويل أنواع البيانات (Type Casting)

PHP تستطيع تحويل البيانات من نوع لآخر تلقائياً أو يدوياً.

التحويل التلقائي (Type Juggling): PHP تحول الأنواع تلقائياً عند الحاجة. مثلاً عند جمع عدد ونص يحتوي رقماً.

التحويل اليدوي (Type Casting): نستخدم الأقواس مع اسم النوع: (int), (string), (float), (bool)

دوال التحويل: intval(), floatval(), strval()
PHP
<?php
// التحويل اليدوي
$str_num = "42.7abc";
$int_val = (int) $str_num;      // 42 (يأخذ الأرقام فقط)
$flt_val = (float) $str_num;    // 42.7

echo "النص: " . $str_num . "<br>";
echo "كـ integer: " . $int_val . "<br>";
echo "كـ float: " . $flt_val . "<br>";

// Boolean تحويل
echo "<br>";
var_dump((bool) 0);       // false (الصفر = false)
var_dump((bool) 1);       // true
var_dump((bool) "");      // false (نص فارغ = false)
var_dump((bool) "hello"); // true
var_dump((bool) null);    // false

// settype
$var = "100";
settype($var, "integer");
var_dump($var); // int(100)
?>
الناتج المتوقع
النص: 42.7abc كـ integer: 42 كـ float: 42.7 bool(false) bool(true) bool(false) bool(true) bool(false) int(100)
🧠

اختبر فهمك — المتغيرات وأنواع البيانات

5/5 للمتابعة
السؤال 1
كيف يبدأ اسم المتغير في PHP؟
السؤال 2
ما نوع البيانات لهذه القيمة: $x = 3.14;
السؤال 3
ما الدالة التي تعرض نوع وقيمة المتغير معاً؟
السؤال 4
ما قيمة (bool) 0 في PHP؟
السؤال 5
هل PHP حساسة لحالة الأحرف في أسماء المتغيرات؟