الفرق بين المراجعتين ل"PHP/Types"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
 
ط (استبدال النص - 'PHP\/([^|-]*)-([^|-]*)' ب'PHP/$1_$2')
 
(17 مراجعة متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:أنواع البيانات في PHP}}</noinclude>
 
* [[PHP/Types/boolean|القيم المنطقية (boolean)]]
 
* [[PHP/Types/integer|الأعداد الصحيحة (integer)]]
 
* [[PHP/Types/float|الأعداد العشرية (float)]]
 
* [[PHP/Types/string|السلاسل النصية (string)]]
 
* [[PHP/Types/array|المصفوفات (array)]]
 
* [[PHP/Types/iterable|المتغيرات التكرارية (iterables)]]
 
* [[PHP/Types/object|الكائنات (object)]]
 
* [[PHP/Types/resource|الموارد (resources)]]
 
* [[PHP/Types/null|NULL]]
 
* [[PHP/Types/callable|ردود النداء (callables)]]
 
* [[PHP/Types/pseudo-types|أشباه الأنواع (pseudo-types)]]
 
* [[PHP/Types/type-juggling|التعامل مع الأنواع (Type Juggling)]]
 
تدعم php عشرة أنواع بدائية، منها أربع أنواع بسيطة (scalar):
 
* [[PHP/Types/boolean|القيم المنطقية]] (boolean).
 
* [[PHP/Types/integer|الأعداد الصحيحة]] (integer).
 
* [[PHP/Types/float|الأعداد العشرية]] (أو الكسرية، أي float/double).
 
* [[PHP/Types/string|السلاسل النصيّة]] (string).
 
وأربع أنواع مركبة:
 
* [[PHP/Types/array|المصفوفات]] (array).
 
* [[PHP/Types/object|الكائنات]] (object).
 
* [[PHP/Types/callable|رد النداء]] (callable).
 
* [[PHP/Types/iterable|القيم التكرارية]] (iterable).
 
 
وأخيرًا، هنالك نوعان خاصان:
 
* [[PHP/Types/resource|مورد]] (resource).
 
* [[PHP/Types/null|لا شيء]] (NULL).
 
 
يقدم هذا الدليل بعض [[PHP/Types/pseudo|أشباه الأنواع]] (الأنواع الزائفة، pseudo-types) الأخرى:
 
* mixed
 
* number
 
* callback ‏(أيcallable)
 
* array|object
 
* void
 
وشبه المتغير ‎<code>$…‎</code>.
 
 
ستجد بعض الإشارات إلى النوع double في هذا الدليل، والذي هو نفسه float، والاسمان موجودان لأسباب تاريخية.
 
 
 
لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم.
 
لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم.
  
ملاحظة: استخدم دالة <code>[[PHP/Function/var-dump|var_dump()]]</code>‎ للتحقق من نوع وقيمة [[PHP/Expressions|تعبير]] معين، واستخدم الدالة <code>[[PHP/Function/gettype|gettype()‎]]</code> للحصول على نوع المتغير عند الحاجة لغرض التنقيح، وللتأكد من نوع المتغير فاستخدم مجموعة دوال ''is_type'' وهذه بعض الأمثلة عنها:<syntaxhighlight lang="php">
+
ملاحظة: استخدم دالة <code>[[PHP/var_dump|var_dump()]]</code>‎ للتحقق من نوع وقيمة [[PHP/expressions|تعبير]] معين، واستخدم الدالة <code>[[PHP/gettype|gettype()‎]]</code> للحصول على نوع المتغير عند الحاجة لغرض التنقيح، وللتأكد من نوع المتغير فاستخدم مجموعة دوال ''is_type'' وهذه بعض الأمثلة عنها:<syntaxhighlight lang="php">
 
<?php
 
<?php
 
$a_bool = TRUE;  // boolean
 
$a_bool = TRUE;  // boolean
سطر 60: سطر 22:
 
}
 
}
 
?>  
 
?>  
</syntaxhighlight>لفرض تحويل نوع المتغير إلى نوع آخر، يمكنك استخدام طريقة cast، أو عبر الدالة <code>[[PHP/Function/settype|settype()‎]]</code>.  
+
</syntaxhighlight>لفرض تحويل نوع المتغير إلى نوع آخر، يمكنك استخدام طريقة cast، أو عبر الدالة <code>[[PHP/settype|settype()‎]]</code>.
 +
 
 +
لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة [[PHP/type juggling|التعامل مع الأنواع]] و<nowiki/>[[PHP/Types/comparison|جدول مقارنة الأنواع]]، لأنها تظهر بعض الأمثلة على ذلك.<noinclude>{{DISPLAYTITLE:أنواع البيانات في PHP}}</noinclude>
 +
 
 +
== أنواع البيانات البسيطة (scalar) ==
 +
 
 +
=== [[PHP/boolean|القيم المنطقية]] (boolean) ===
 +
القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً <code>TRUE</code> أو خطأً <code>FALSE</code>.
 +
 
 +
=== [[PHP/integer|الأعداد الصحيحة]] (integer) ===
 +
العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎.
 +
 
 +
=== [[PHP/float|الأعداد العشرية]] (أو الكسرية، أي float/double) ===
 +
الأعداد العشرية (تعرف أيضا بالأعداد الحقيقة real number أو doubles أو float) هي الأعداد التي تملك قسمًا عشريًا إضافةً إلى القسم الصحيح.
 +
 
 +
=== [[PHP/string|السلاسل النصيّة]] (string) ===
 +
السلسلة النصية هي سلسلة من الأحرف، إذ يكون كل حرف ممثلًا ببايت.
 +
 
 +
== أنواع البيانات المركبة ==
 +
 
 +
=== [[PHP/array|المصفوفات]] (array) ===
 +
المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح.
 +
 
 +
=== [[PHP/object|الكائنات]] (object) ===
 +
تُنشَأ الكائنات في PHP بتهيئة صنف (class).
 +
 
 +
=== [[PHP/callable|رد النداء]] (callable) ===
 +
يمكن أن الإشارة إلى رد النداء (Callbacks) باستخدام نوع البيانات (callable) منذ إصدار PHP 5.4، وهي الدوال التي تستدعيها دوال أخرى لإجراء عمليات.
 +
 
 +
=== [[PHP/iterable|القيم التكرارية]] (iterable) ===
 +
إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة <code>Traversable</code> (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة <code>[[PHP/foreach|foreach]]</code> ويمكن أن يُستخدم مع تعبير yield داخل <nowiki/>[[PHP/generators|دالة مولِّدة]] (generator).
 +
 
 +
== أنواع البيانات الخاصة ==
 +
 
 +
=== [[PHP/resource|مورد]] (resource) ===
 +
المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي.
 +
 
 +
=== [[PHP/null|لا شيء]] (NULL) ===
 +
تمثل القيمة الخاصة <code>NULL</code> متغيرًا دون قيمة، فالقيمة <code>NULL</code> هي القيمة الوحيد الممكنة من نوع البيانات null.
 +
 
 +
== [[PHP/Types/pseudo|أشباه الأنواع]] (الأنواع الزائفة [pseudo-types]) ==
 +
أشباه الأنواع هي كلمات مفتاحيَّة مستخدمة في توثيق PHP لتحديد الأنواع أو القيم التي يمكن أن يمتلكها المعامل ولا يمكن استخدامها في الشيفرات البرمجية.
 +
 
 +
* mixed
 +
* number
 +
* callback ‏(أيcallable)
 +
* array|object
 +
* void
 +
وشبه المتغير ‎<code>$…‎</code>.
 +
 
 +
ملاحظة: ستجد بعض الإشارات إلى النوع double في هذا الدليل، والذي هو نفسه float، والاسمان موجودان لأسباب تاريخية.
  
لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة [[PHP/Types/type-juggling|التعامل مع الأنواع]] و<nowiki/>[[PHP/Types/comparison|جدول مقارنة الأنواع]]، لأنها تظهر بعض الأمثلة على ذلك.
 
 
== مصادر ==
 
== مصادر ==
 
* [http://php.net/manual/en/language.types.php صفحة Types في توثيق PHP الرسمي.]
 
* [http://php.net/manual/en/language.types.php صفحة Types في توثيق PHP الرسمي.]
 
*[http://php.net/manual/en/language.types.intro.php صفحة Types Introduction في توثيق PHP الرسمي.]
 
*[http://php.net/manual/en/language.types.intro.php صفحة Types Introduction في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
+
[[تصنيف:PHP|{{SUBPAGENAME}}]]
[[تصنيف:PHP Types]]
+
[[تصنيف:PHP Types|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 03:46، 4 أبريل 2018

لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة 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()‎.

لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة التعامل مع الأنواع وجدول مقارنة الأنواع، لأنها تظهر بعض الأمثلة على ذلك.

أنواع البيانات البسيطة (scalar)

القيم المنطقية (boolean)

القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً TRUE أو خطأً FALSE.

الأعداد الصحيحة (integer)

العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎.

الأعداد العشرية (أو الكسرية، أي float/double)

الأعداد العشرية (تعرف أيضا بالأعداد الحقيقة real number أو doubles أو float) هي الأعداد التي تملك قسمًا عشريًا إضافةً إلى القسم الصحيح.

السلاسل النصيّة (string)

السلسلة النصية هي سلسلة من الأحرف، إذ يكون كل حرف ممثلًا ببايت.

أنواع البيانات المركبة

المصفوفات (array)

المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح.

الكائنات (object)

تُنشَأ الكائنات في PHP بتهيئة صنف (class).

رد النداء (callable)

يمكن أن الإشارة إلى رد النداء (Callbacks) باستخدام نوع البيانات (callable) منذ إصدار PHP 5.4، وهي الدوال التي تستدعيها دوال أخرى لإجراء عمليات.

القيم التكرارية (iterable)

إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة Traversable (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة foreach ويمكن أن يُستخدم مع تعبير yield داخل دالة مولِّدة (generator).

أنواع البيانات الخاصة

مورد (resource)

المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي.

لا شيء (NULL)

تمثل القيمة الخاصة NULL متغيرًا دون قيمة، فالقيمة NULL هي القيمة الوحيد الممكنة من نوع البيانات null.

أشباه الأنواع (الأنواع الزائفة [pseudo-types])

أشباه الأنواع هي كلمات مفتاحيَّة مستخدمة في توثيق PHP لتحديد الأنواع أو القيم التي يمكن أن يمتلكها المعامل ولا يمكن استخدامها في الشيفرات البرمجية.

  • mixed
  • number
  • callback ‏(أيcallable)
  • array|object
  • void

وشبه المتغير ‎$…‎.

ملاحظة: ستجد بعض الإشارات إلى النوع double في هذا الدليل، والذي هو نفسه float، والاسمان موجودان لأسباب تاريخية.

مصادر