الفرق بين المراجعتين لصفحة: «PHP/Types»

من موسوعة حسوب
< PHP
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
ط استبدال النص - 'PHP\/([^|-]*)-([^|-]*)' ب'PHP/$1_$2'
 
(15 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة 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
سطر 22: سطر 22:
}
}
?>  
?>  
</syntaxhighlight>لفرض تحويل نوع المتغير إلى نوع آخر، يمكنك استخدام طريقة cast، أو عبر الدالة <code>[[PHP/Function/settype|settype()‎]]</code>.  
</syntaxhighlight>لفرض تحويل نوع المتغير إلى نوع آخر، يمكنك استخدام طريقة cast، أو عبر الدالة <code>[[PHP/settype|settype()‎]]</code>.  


لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة [[PHP/Types/type-juggling|التعامل مع الأنواع]] و<nowiki/>[[PHP/Types/comparison|جدول مقارنة الأنواع]]، لأنها تظهر بعض الأمثلة على ذلك.<noinclude>{{DISPLAYTITLE:أنواع البيانات في PHP}}</noinclude>
لاحظ أنه يمكن تغيير نوع المتغير حسب القيمة الموجودة به في بعض الحالات بالاعتماد على نوعه في ذلك الوقت، للمزيد من المعلومات، يمكنك الإطلاع على صفحة [[PHP/type juggling|التعامل مع الأنواع]] و<nowiki/>[[PHP/Types/comparison|جدول مقارنة الأنواع]]، لأنها تظهر بعض الأمثلة على ذلك.<noinclude>{{DISPLAYTITLE:أنواع البيانات في PHP}}</noinclude>


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


=== [[PHP/Types/boolean|القيم المنطقية]] (boolean) ===
=== [[PHP/boolean|القيم المنطقية]] (boolean) ===
القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً <code>TRUE</code> أو خطأً <code>FALSE</code>.
القيم المنطقية (boolean) من أبسط الأنواع، فالتعبير المنطقي يُعبِّر عن صحّة تعبيرٍ ما، فإما أن تكون قيمة التعبير صحيحةً <code>TRUE</code> أو خطأً <code>FALSE</code>.


=== [[PHP/Types/integer|الأعداد الصحيحة]] (integer) ===
=== [[PHP/integer|الأعداد الصحيحة]] (integer) ===
العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎.
العدد الصحيح هو عدد من المجموعة ℤ = {…, -2, -1, 0, 1, 2, …}‎‎.


=== [[PHP/Types/float|الأعداد العشرية]] (أو الكسرية، أي float/double) ===
=== [[PHP/float|الأعداد العشرية]] (أو الكسرية، أي float/double) ===
الأعداد العشرية (تعرف أيضا بالأعداد الحقيقة real number أو doubles أو float) هي الأعداد التي تملك قسمًا عشريًا إضافةً إلى القسم الصحيح.
الأعداد العشرية (تعرف أيضا بالأعداد الحقيقة real number أو doubles أو float) هي الأعداد التي تملك قسمًا عشريًا إضافةً إلى القسم الصحيح.


=== [[PHP/Types/string|السلاسل النصيّة]] (string) ===
=== [[PHP/string|السلاسل النصيّة]] (string) ===
السلسلة النصية هي سلسلة من الأحرف، إذ يكون كل حرف ممثلًا ببايت.
السلسلة النصية هي سلسلة من الأحرف، إذ يكون كل حرف ممثلًا ببايت.


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


=== [[PHP/Types/array|المصفوفات]] (array) ===
=== [[PHP/array|المصفوفات]] (array) ===
المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح.
المصفوفة في PHP هي خريطة (map) مرتّبة، والخريطة هي نوع ترتبط فيه القيم مع المفاتيح.


=== [[PHP/Types/object|الكائنات]] (object) ===
=== [[PHP/object|الكائنات]] (object) ===
تُنشَأ الكائنات في PHP بتهيئة صنف (class).
تُنشَأ الكائنات في PHP بتهيئة صنف (class).


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


=== [[PHP/Types/iterable|القيم التكرارية]] (iterable) ===
=== [[PHP/iterable|القيم التكرارية]] (iterable) ===
إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة <code>Traversable</code> (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة <code>[[PHP/Control Structures/foreach|foreach]]</code> ويمكن أن يُستخدم مع تعبير yield داخل <nowiki/>[[PHP/Generators|دالة مولِّدة]] (generator).
إن المتغير التكراري Iterable هو شبه نوع (نوع زائف، pseudo-type) عُرِّفَ في الإصدار 7.1 من PHP وهو يقبل أية مصفوفة أو كائن يستخدم واجهة <code>Traversable</code> (أي Traversable interface)، كلا النوعين يمكن تكراره باستخدام حلقة <code>[[PHP/foreach|foreach]]</code> ويمكن أن يُستخدم مع تعبير yield داخل <nowiki/>[[PHP/generators|دالة مولِّدة]] (generator).


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


=== [[PHP/Types/resource|مورد]] (resource) ===
=== [[PHP/resource|مورد]] (resource) ===
المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي.
المورد هو متغير خاص يحمل مرجعيةً إلى مورد خارجي.


=== [[PHP/Types/null|لا شيء]] (NULL) ===
=== [[PHP/null|لا شيء]] (NULL) ===
تمثل القيمة الخاصة <code>NULL</code> متغيرًا دون قيمة، فالقيمة <code>NULL</code> هي القيمة الوحيد الممكنة من نوع البيانات null.
تمثل القيمة الخاصة <code>NULL</code> متغيرًا دون قيمة، فالقيمة <code>NULL</code> هي القيمة الوحيد الممكنة من نوع البيانات null.



المراجعة الحالية بتاريخ 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، والاسمان موجودان لأسباب تاريخية.

مصادر