أنواع البيانات في PHP
- القيم المنطقية (boolean)
- الأعداد الصحيحة (integer)
- الأعداد العشرية (float)
- السلاسل النصية (string)
- المصفوفات (array)
- المتغيرات التكرارية (iterables)
- الكائنات (object)
- الموارد (resources)
- NULL
- ردود النداء (callables)
- أشباه الأنواع (pseudo-types)
- التعامل مع الأنواع (Type Juggling)
تدعم php عشرة أنواع بدائية، منها أربع أنواع بسيطة (scalar):
- القيم المنطقية (boolean).
- الأعداد الصحيحة (integer).
- الأعداد العشرية (أو الكسرية، أي float/double).
- السلاسل النصيّة (string).
وأربع أنواع مركبة:
- المصفوفات (array).
- الكائنات (object).
- رد النداء (callable).
- القيم التكرارية (iterable).
وأخيرًا، هنالك نوعان خاصان:
يقدم هذا الدليل بعض أشباه الأنواع (الأنواع الزائفة، pseudo-types) الأخرى:
- mixed
- number
- callback (أيcallable)
- array|object
- void
وشبه المتغير $…
.
ستجد بعض الإشارات إلى النوع double في هذا الدليل، والذي هو نفسه float، والاسمان موجودان لأسباب تاريخية.
لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم.
ملاحظة: استخدم دالة var_dump()
للتحقق من نوع وقيمة تعبير معين، واستخدم الدالة gettype()
للحصول على نوع المتغير عند الحاجة لغرض التنقيح، وللتأكد من نوع المتغير فاستخدم مجموعة دوال is_type وهذه بعض الأمثلة عنها:
<?php
$a_bool = TRUE; // boolean
$a_str = "foo"; // string
$a_str2 = 'foo'; // string
$an_int = 12; // integer
echo gettype($a_bool); // الناتج: boolean
echo gettype($a_str); // الناتج: string
// إذا كان العدد صحيحًا، فأضف إليه 4
if (is_int($an_int)) {
$an_int += 4;
}
// اطبع $a_bool إذا كان المتغير سلسلةً نصيةً.
// (لن يطبع شيء)
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
لفرض تحويل نوع المتغير إلى نوع آخر، يمكنك استخدام طريقة cast، أو عبر الدالة settype()
.
لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة التعامل مع الأنواع وجدول مقارنة الأنواع، لأنها تظهر بعض الأمثلة على ذلك.