📦 الدرس 2 من 13
المتغيرات وأنواع البيانات
كيف نخزن البيانات في PHP؟
المتغيرات في PHP
المتغير هو وعاء لتخزين البيانات. في PHP كل متغير يبدأ بعلامة الدولار
قواعد تسمية المتغيرات:
لا تحتاج لتحديد النوع! PHP تحدد نوع المتغير تلقائياً حسب القيمة المخصصة له. هذا يُسمى Dynamic Typing.
$ تليها اسم المتغير.
قواعد تسمية المتغيرات:
- يبدأ بـ $ ثم حرف أو 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):
الأنواع البدائية (Scalar):
string— نص:"مرحبا"أو'hello'integer— عدد صحيح:42,-10float— عدد عشري:3.14,-0.5boolean— منطقي:trueأوfalse
array— مصفوفةobject— كائن
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): نستخدم الأقواس مع اسم النوع:
دوال التحويل:
التحويل التلقائي (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 حساسة لحالة الأحرف في أسماء المتغيرات؟