المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : درس[3] انواع المتغيرات فى الـ php او مايسمى Data Types


محمود عفيفى
20-03-2010, 02:20 PM
السلام عليكم ورحمة الله وبركاته

ماهى انواع البيانات فى الـ php؟
انواع البيانات (التى تحفظ داخل متغير ما)
تختلف بحسب قيمة هذا المتغير. وعن طريق إختلاف نوع قيمة المتغير
يمكننا تحديد كيف سنتعامل مع هذا المتغيير.
كما ان معرفة نوع متغير ما مفيد عند رغبتك فى التحقق من قيمة هذا المتغيير.
والهدف من معرفة نوع المتغيرات ستعرفه عندما تريد التحقق مثلا
من حقل رقم هاتف يقوم بإدخاله الزائر فى فورم التسجيل ببرنامجك (كامثلا لا حصر)
او الرقم البريدى zip code مثلا.
فإذا ادخل الزائر قيمة غير رقمية فيجب ان تخرج له رسالة تفيد بأنه ادخل قيمة خاطئة حتى يقوم بالتحقق منها.

انواع البيانات فى الـ php هى كالتالى:-

النوع



integer
Double
String
Boolean
array
Object


مثال



5
2.234
1e7
"نص"
true
يتم شرحه فيما بعد
يتم شرحه فيما بعد


الوصف



قيمة رقمية صحيحة كالراقم 5 او اى رقم صحيح (سواء سالب او موجب)
رقم به كسور كالرقم 2.3 او 1.5 وهكذا
لكل حرف فى الحاسب الألى كود خاص به
اى نوع من انواع النصوص
true او false بمعنى صح او خطأ false تنطبق على المتغيرات التى لا تحتوى على اى قيمة, او لها القيمة 0 او مجرد مسافة بيضاء اى شئ غير ذلك يعتبر TRUE وهذا النوع للبيانات اغلب الأحيان يرمز له بالكلمة المختصرة bool
يتم شرحه فيما بعد
يتم شرحه فيما بعد


هناك ايضا نوعان اخران من انواع البيانات ( Data Types )

النوع



مصدر او Resource
null



الوصف



المصدر او الـ resource هى كلمة عادة تشير للمتغيرات التى تحفظ نتيجة اتصال بقاعدة البيانات, او فتح ملف (هذه الأمور تعتبر احترافية نوعا ما وسنشرحها بالتفصيل فى دروس لاحقة)
null معناها خالى تماما, اى لا يحمل اى قيمة, اذا كان متغير ما يحتوى على مسافة فارغة (مجرد مسافة بيضاء) لا يعتبر Null


لتوضيح الصورة اكثر وتوضيح انواع البيانات التى ورد وصفها (دون شرح البيانات التى تم تأجيلها للدروس القادمة)
قم بتشغيل الإسكريبت التالى
<?php
$test = 1;
echo gettype($test); // will output integer
echo "<br />"; // just to start in new line
$test = 1.26;
echo gettype($test); // will output double
echo "<br />";
$test = false;
echo gettype($test); //will output boolean
echo "<br />";
$test = null;
echo gettype($test); //will output NULL
?> لاحظ نوع المتغيير بنفسك عندما نقوم بتعيين قيمة جديدة له.
ستلاحظ ان نوع المتغيير يتغير بحسب قيمته الأخيرة قبل ان نطبعه بإستخدام الدالة
gettype() والتى من شأنها ان تعرض لنا نوع قيمة المتغيير الذى نعطه لها.

هناك ايضا الدالة var_dump() وهى اكثر احترافية من الدالة gettype()
حيث ان الدالة gettype() تعرض لنا فقط نوع المتغير الذى نعطه اليها.
اما var_dump() تعطى نوع المتغير, وقيمته وبيانات اضافية عنه.

يمكنك تجربتها بمثال بسيط كالتالى
<?php
$test = 1;
var_damp($test);
?>سوف يكون ناتج هذا هو int(1)

اى النوع هو integer والقيمة هى 1

بالرغم من ان دالة الـ gettype() بمفردها جيدة لعرض نوع احد المتغيرات.
الا ان الـ php يقدم لنا عدة دوال اخرى جيدة يمكننا استخدامها.
وجميعها ترد لنا بأما true او false او بمعنى اخر. تقول لنا نعم المتغير الذى ادخلته قيمته لها النوع كذا او لا. (سوف نرى كيف نسنتخدم هذه الدوال لاحقا لكن الأن يجب وضع وصف سريع ومختصر لها)

الدوال:-


is_array()
is_bool()
is_double()
is_int()
is_numeric()
is_object()
is_string()
is_null()
is_resource()


الوصف:-


اذا كان المتغير الذى اعطيناه لها هو عبارة عن مصفوفة (array) سترد لنا القيمة true اى, نعم هذا المتغير هو مصفوفة, غير ذلك ترد لنا القيمة false اى لا, هذا المتغير له نوع اخر وليس مصفوفة او array
ترد لنا القيمة true اذا كانت قيمة المتغير الذى وضعناه بها اما false او true
ترد لنا القيمة true اذا كان قيمة المتغير هو قيمة رقم غير صحيح مثل 1.235
ترد لنا القيمة true اذا كانت قيمة المتغير هى رقم صحيح
نفس عمل is_int() لكن مع اختلاف, وهو ان اذا كانت قيمة المتغير
الذى تعطه لدالة التحقق in_int موضوعة بين علامتين تنصيص مثل "1"
فسترد لنا الدالة is_int() بـ false
اما الدالة is_numeric() تستطيع رصد الرقم حتى اذا كان داخل علامتى التنصيص.
سنعرف استخدماتها لاحقا.
ترد لنا القيمة true اذا كان نوع المتغير هو متغير نصى, اى نص يوضع بين علامتين تنصيص (حتى اذا كان رقم بين علامتين التنصيص)
ترد لنا القيمة true اذا كان المتغير ليس له اى قيمة, اى متغير فارغ تماما, لا يحتوى حتى على مسافة فارغة.
سنشرح هذا بتفصيل اكثر فى دروس لاحقة.

هناك ايضا طرق للتلاعب بأنواع المتغيرات والتغيير بها.
على سبيل المثال اذا كانت قيمة المتغير هى 1.2 فإن نوعه هو double
ماذا لو اردنا ان نحول نوعه الى integer؟
هناك طريقتان,
الأولى بإستخدام دالة settype() واليك مثال على طريقة إستخدام الدالة
<?php
$var = 1.2;
var_dump($var);
settype($var, "int");
var_dump($var);
?>جرب المثل اعلاه ولاحظ الإختلاف بنفسك.

هناك طريقة اخرى وهى عن طريق اضافة النوع المرغوب تحويل المتغير اليه قبل المتغير بين قوسين.
جرب المثال التالى لتضح الصورة اكثر.
<?php
$var = 1.2;
echo gettype($var). ": = ". $var;
echo "<br />";
echo gettype((int)$var) .": = ". (int)$var;
?>هذا الدرس شئ بسيط فقط لتوضيح انواع المتغيرات فى الـ php
وطرق بسيطة للتلاعب معها وتغييرها.
وان شاء الله يوم بعد يوم سوف تستوعب هذه الأشياء وسوف تستوعب فوائدها بشكل اكبر.

الدرس التالى المشغلات والعوامل فى الـ PHP Operators and Expressions

منقول

كينج نت
20-03-2010, 03:13 PM
السلام عليكم ورحمة الله وبركاته

مشكور اخي العزيز محمود عفيفي

بارك الله بجهودك الطيبه لازلنا نتواصل وإياك بالمتابعه والاستفاده

ونترقب بقية الدروس بإذن الله تعالى

جزاك الله عنا كل خير وبارك بجهودك الطيبة

:abc_102:

.

محمود عفيفى
20-03-2010, 03:35 PM
وعليكم السلام ورحمة الله وبركاته
حياك الله أخى كينج نت نورت الموضوع ياحج :abc_139:

أبو يوسف
20-03-2010, 03:42 PM
جزاك الله عنا كل خير أخي محمود عفيفي

وبارك الله بجهودك الطيبة

محمود عفيفى
20-03-2010, 05:27 PM
حياك الله أخى أبو يوسف نورت الموضوع أستاذى الفاضل :abc_139:

abohmam
24-03-2010, 12:29 PM
جزاك الله خيرا أخى محمود على نقل هذه الدروس المفيدة

ماشاء الله الواحد مش عارف يتابع من سرعة وكثرة الدروس :abc_145:

سيتم القراءة من جديد ان شاء الله