بسم
الله الرحمن
الرحيم والصلاة
والسلام على
اشرف الانبياء
والمرسلين ،
بعد المقدمات
السابقة والهامة
في معرفة اساسيات
اللغة يمكننا
بداية كتابة
البرامج بلغة
البي اتش بي ،
وبطبيعة الحال
سنبدأ من اصغر
الاساسيات
واهمها في كتابة
البرامج عموماً
وهي المتغيرات
.
المتغيرات
في لغة الـ PHP
تبدأ
بعلامة الدولار
( $ ) ،
ولاسناد قيمة
لذلك المتغير
نستخدم علامة
المساواة (
= ) ،
فرضا لدينا
المتغير (
Name ) والقيمة
( Khaled ) فنكتب
ما يلي :
<?
$Name = "Khaled";
?>
هذا
في حالة المتغيرات
النصية (
Text ) ،
وفي حالة المتغيرات
الرقمية (
Numbers ) يمكن
تعريف متغير
( Counter ) الذي
يحمل القيمة
( 17 ) كالتالي
:
<?
$Counter = 17;
?>
الفرق
الواضح في طريقة
تعريف المتغيرين
النصي والرقمي
هو عدم وجود
علامات التنصيص
في تعريف المتغيرات
الرقمية بينما
يجب وضع علامات
التنصيص في
تعريف المتغيرات
النصية .
نقاط
هامة في تسمية
المتغيرات :
- اسماء
المتغيرات في
كثير من لغات
البرمجة لا
تتعدى 255
حرف
( المقصود
بها الخانات
سواء كانت حروف
أو ارقـام أو
علامات اخرى
) ،
و في لغة الـ
PHP لا
يوجد حدود على
عدد الخانات
في تسمية المتغيرات
، ولكن في الغالب
لن تحتاج الى
اكثر من 15
خانة
لتسمية أي متغير
، لان المبالغة
في تسمية المتغيرات
تسبب مشاكل في
تذكر المتغيرات
وما تحتوية من
قيم .
- بداية
كل متغير يجب
أن تبدأ بحرف
( يعني
حرف هجائي )
أو
علامة (
_ ) Underscore ،
مع تجاهل علامة
الـ $
لانها
لا تحسب من اسم
المتغير .
- يمكن
أن يحتوي اسم
المتغير على
الحروف أو الارقام
أو علامة (
_ ) فقط
، اما العلامات
الأخرى مثل (
+ , - , * , / ) أو
الـ &
لا
يمكن كتابتها
في اسم المتغير
.
- المتغير
( Name$ ) يختلف
عن المتغير (
name$ ) لاختلاف
حالة حرف الـ
N ،
ولذلك يجب التاكد
من اسم المتغيرات
بدقة لتجنب حدوث
مشاكل في الوصول
الى متغير معين
، وبالتاكيد
لو كان لديك
اسلوب خاص في
تسمية المتغيرات
لسهولة الوصول
اليها وتذكرها
ستكون كتابة
السكربات اسهل
بكثير .
- يستحسن
أن تكون اسماء
المتغيرات دالة
على معانيها
، بمعنى أنه
لمتغير مثل عداد
الزوار يستحسن
أن يكون (
counter$ ) ،
ولمتغير مثل
اسم المستخدم
( user$ ) .. الخ
.
التعامل
مع المتغيرات
:
فائدة
المتغيرات تكمن
في طريقة استخدامها
في كتابة السكربت
، وكما ذكرنا
سابقاً أنه
لطباعة متغير
معين نستخدم
امر الطباعة
( echo ) أو
( print ) كما
يلي :
<?
$name = "Naser";
echo $name;
?>
في
البداية سيتم
اسناد القيمة
( Naser ) الى
المتغير (
name$ ) ،
وفي السطر الثاني
يتم طباعة المتغير
، أو بالاحرى
القيمة المسندة
الى المتغير
.
انواع
البيانات (
Data Types ) :
في
الامثلة السابقة
قمنا باسناد
قيمتين عددية
ونصية الى متغيرين
، وبينًا الفرق
بينهما ، وفي
لغة الـ PHP
بشكل
عام يوجد أكثر
من هذين النوعين
من البيانات
، ساشرح بعضاً
منها الآن ،
والبقية في
الدروس القادمة
:
- البيانات
النصية (
String ) .
- البيانات
العددية الصحيحة
( Integer ) .
-
البيانات
العددية الكسرية
( Double ) .
-
المصفوفـات
( Array ) .
-
الكـائنات
( Object ) .
-
البيانات
الغير معروفة
! .
البيانات
النصية (
String ) :
هي
البيانات التي
تكون بين علامات
التنصيص "
" بغض
النظر عن محتوهـا
، فيمكن أن تكون
حروف أو اعداد
أو رموز أو غيرها
، ومثال ذلك كما
ذكرنا سابقاً
:
<?
$user = "Khaled";
$age = "13.5";
?>
التعامل
مع البيانات
النصية (
String ) :
لاضـافة
المتغيرات التي
تحتوي على بيانات
نصية مع متغيرات
من نفس النوع
نحتاج الى عملية
دمج بين المتغيرات
، ولعمل ذلك
نكتب :
<?
$total = $user . $age;
?>
في
هذه الحالة سيتم
اسناد القيمة
Khaled13.5 الى
المتغير (
total$ ) .
اذا
اردنا وضع مسـافة
بين المتغيرين
نضيف متغير جديد
يحتوي على المسـافة
وهو (
space$ ) ثم
نقوم بعملية
الدمج كالتالي
:
<?
$space = "
";
$total = $user . $space . $age;
?>
وفي
هذه الحالة سيتم
وضع القيمة
Khaled 13.5 في
المتغير (
total$ ) ،
وبطبيعة الحال
يمكن استخدم
المتغيرات
النصية داخل
متغيرات نصية
أخرى ، حيث سيتم
تعويض المتغير
بقيمتة الأصلية
.
البيانات
العددية (
Numeric ) :
وكما
ذكرنا في التقسيم
السابق أنها
نوعين (
الاعداد
الصحيحة Integer
) و (
الاعداد
الكسرية Double
) ،
وكمثال على
النوعين :
<?
$integer1 = 233;
$integer2 = -29
$double1 = 5.27
$double2 = -4.6
?>
التعامل
مع البيانات
العددية (
Numeric ) :
العمليات
الحسابية المشهورة
( + , - , * , / )
بالاضـافة
الى باقي القسمة
( % ) عمليات
شائعة جداً في
التعامل مع
المتغيرات
العددية ، وبطبيعة
الحال لن نحتاج
الى ذكر أي مثال
عن هذه العمليات
، وسنكتفي بذكر
بعض النقاط
الاساسية التي
قل ما يخلو سكربت
منها .
اول
النقاط هي اضافة
المتغير الى
نفسه ، بمعنى
تعريف عملية
حسابية على
متغير معين بحيث
تخزن القيمة
في نفس المتغير
، مثلا لو كان
لديك عدد الزوار
وتريد في كل مرة
أن يزود عدد
الزوار بـ 1
،
يمكنك كتابة
ما يلي :
<?
$counter = $counter + 1;
?>
بالتالي
سيتم زيادة
المتغير (
counter$ ) بـ
1 في
كل مرة يتم فيها
تنفيذ السكربت
، وبطريقة أخرى
يمكن كتابة
السطر السابق
كالتالي :
<?
$ccounter = $counter++;
?>
والـ
++ تعني
زيادة قدررها
( 1 ) على
قيمة المتغير
الأصلية ، وكذلك
الـ --
تعني
طرح 1
من
القيمة الأصلية
.
وفي
حالة الرغبة
بزيادة أي عدد
أخر (
غير
الواحد )
على
أي متغير باسلوب
الطريقة الثانية
يمكن كتابة ما
يلي :
<?
$counter +=4;
?>
وهذا
يعني زيادة
مقدارها 4
على
قيمة المتغير
الأصلية ، وبالسالب
كذلك بنفس الأسلوب
.
ترتيب
انجاز العمليات
الحسابية :
يوجد
بعض الرموز
والعمليات التي
تسبق غيرها عند
البدء في انجاز
عملية حسابية
معينة ، والترتيب
المستخدم في
البي اتش بي
كالتالي :
- [
- ! ~ ++ -- ( int ) ( double ) ( string ) ( array ) (
object )
- * / %
- + - .
- << >>
- >=
> <= <
- !== === != ==
- &
- |
- &&
- ||
- : ?
- >>= <<= ~= ^= &= %= .= /= *=
+= =
- print
- AND
- XOR
- OR
- ,
بالتأكيد
القائمة طويلة
وفيها تفاصيل
كثيرة ، ولكن
من المهم معرفة
طريقة انجاز
العمليات الحسابية
المختلفة لسهولة
اكتشاف الأخطـاء
ومعرفة الطريقة
الصحيحة لكتابة
بعض العمليات
المعقدة للحصول
على ناتج صحيح
.
بعض
الدوال الهامة
في التعامل مع
المتغيرات :
- isset : وهي
دالة للتأكد
من وجود متغير
معين ، فمثلا
:
<?
echo isset($age);
?>
سيتم
طباعة الرقم
1 اذا
كان المتغير
( age$ ) موجوداً
( تم
انشاءه مسباقاً
) ،
والعكس اذا كان
غير موجود سيتم
طباعة الرقم
0 ،
وهذه الدالة
يتم استخدامها
كثيراً في الشروط
وهذا ما سنتطرق
اليه لاحقاً
.
- unset : هذه
الدالة تعمل
على مسح المتغير
من الذاكرة كليأ
، فقط قم بعمل
التالي :
<?
unset($age);
?>
وفي
هذه الحالة سيتم
مسح المتغير
( age$ ) بشكل
كامل .
- empty : وهذه
الدالة معاكسة
للدالة isset
بحيث
لو كتبنا ما يلي
:
<?
echo empty($age);
?>
سيتم
طباعة الرقم
1 في
حالة عدم وجود
المتغير (
age$ ) أو
أن قيمة المتغير
تساوي 0
أو
( فراغ
) ،
وفي حالة وجود
المتغير (
age$ ) لن
يتم طبـاعة أي
شي .