ابحث في هذه المدونة

الأحد، 31 أكتوبر، 2010

المتغيرات


بعيدا ً عن البرمجة فإن المتغيرات هي حاويات خزن ضخمة يمكنها خزن أي شيء ومهما كان حجمه حتى لو كان القمر "كيو" بكامله, إذن وظيفتها الأساسية هي خزن القيم سواء بصورة مؤقتة أم دائمية والمتغيرات في الواقع مرنة جدا ً حيث يمكنك التعامل مع القيم التي تحملها المتغيرات وتعديلها والإضافة إليها وطباعتها أو انجاز العمليات الرياضية عليها, بشكل عام, المتغيرات تتكون من عنصرين, اسم المتغير و القيمة المسندة.

يمكن أن لا يحتوي المتغير على أي قيمة لكن ستبقى القيمة موجودة وهي فارغة, كما أن كل متغير يجب أن يحمل اسما ً وفي PHP تسمية المتغيرات تخضع لشروط محددة وهي يجب أن تبدأ بعلامة الدولار دائما ً $ أما عن أسماء المتغيرات فيجب أن تبدأ بحرف أو _ ثم يليه حرف ولا يمكن استخدام الرموز مثل * أو / أو غيرها في تسمية المتغيرات وهذه بعض الأمثلة عن المتغيرات:



$_pet;
$my_name;
$number;



حيث جميع المتغيرات يجب أن تبدأ بعلامة الدولار وتنتهي بالفارزة المنقوطة, وان المتغيرات في الحقيقة حساسة لحالة الأحرف حيث أن هذه المتغيرات آلاتية جميعها متغيرات مختلفة تماما في وجهة نظر PHP :

 

$NAME;
$Name;
$name;


إن ما أنشأناه هنا هو متغيرات لا تحمل أي قيمة وللاستفادة من ميزة المتغيرات يمكننا إسناد القيم المختلفة لها والتعامل معها في وقت لاحق.

ملاحظة :
طالما يبدو "كيو" كأسم شخصية كارتونية, في الواقع أن كيو هو قمر صناعي غايته ليست التقاط الإشارة وإعادة بثها وإنما هو مشروع من قبل اليونسكو لحمل رسائل يكتبها أي شخص في العالم وخزنها على شكل أقراص مدمجة ثم سينطلق بها القمر في نهاية العام 2010-2011 إلى الفضاء وسيدور حول مدار الأرض لعدة عقود ثم يهبط بعد ذلك لينقل صورة إلى عالم الغد عن عالم اليوم تتضمن أفكار وقيم وحضارات اليوم. www.keo.org
     






لإسناد القيم إلى المتغيرات نستخدم إشارة = بعد اسم المتغير وقبل الفارزة المنقوطة:
$my_id=411;


حيث أن المتغير $my_id الآن أصبح لديه قيمة عددية وهي 411.

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



لإسناد النصوص إلى المتغيرات سنستخدم علامات الاقتباس المزدوجة أو المفردة كما في المثال التالي:

$my_name="ali";
$my_name='ali';
ولفهم ميزة المتغيرات الفعلية لنشاهد هذا المثال:


1.<?php
2.$id=0;
3.$age="hello";
4.if (id==0)
5.{
6.$age="welcome admin";
7.}
8.?>


(لقد استخدمت الأرقام والنقاط التي تليها للتوضيح فقط ولا يتم كتابتها في البرمجة)




في السطر الأول يبدأ وسم PHP وينتهي بالسطر 8

في السطر الثاني أنشأنا متغير يحمل الرقم 0 وفي السطر الثالث أنشأنا متغير يحمل نص وهو hello .

في السطر الرابع أنشأنا جملة شرطية تختبر ما إذا كان المتغير id يساوي 0 (وهو كذلك) فيتم تغيير قيمة المتغير age من القيمة hello إلى welcome admin .

هنا تظهر مرونة المتغيرات في إمكانية تغيير قيمها عدة مرات ومن نصوص إلى أرقام أو بالعكس وهنا حقا ً طرائق واسعة للتعامل مع المتغيرات.

لا تهتم بشأن الأسطر 4-7 إن كنت لا تعرفها فهي مواضيع لم يتم شرحها بعد.

حسنا ً لقد تمكنا من تغيير قيمة المتغير إلى قيمة أخرى ولكن ماذا لو أردنا إضافة قيمة إلى قيمة أخرى؟ طبعا ً يمكنك تقنيا ً كتابة الكود التالي من خلال ما تعلمته:


1.<?php
2.$id=0;
3.$age="hello";
4.if (id==0)
5.{
6.$age="hello admin";
7.}
8.?>




لكن هناك طريقة أكثر منطقية من خلال إضافة (.) النقطة وتتم إما نضيف متغير يحمل نص أو عدد إلى متغير آخر أو نضيف قيمة إلى قيمة أخرى داخل المتغير الواحد, قم بفتح برنامج محرر النصوص لديك واكتب التالي ولا تكتب الأرقام والنقاط التي تليها:


1.<?php
2.$first_name="Mike";
3.$last_name="Shinoda";
4.$total_name=$first_name." ".$last_name;
5.echo $total_name;
6.?>




ثم اخزن الملف بأسم (name.php) داخل المسار C:\xampp\htdocs

في السطر الثاني تم إنشاء متغير يحمل قيمة نصية ثم في السطر الثالث متغير يحمل قيمة أخرى وفي السطر الرابع أنشانا متغير جديد يدمج المتغير الأول مع المتغير الثاني أي يدمج الاسم Mike مع الاسم Shinoda وكما تلاحظ تم وضع علامتي اقتباس مزدوجة مفصولة بفراغ وهذا الفراغ وضع لكي يمنع التصاق قيمة المتغير الأول (الاسم الأول) وقيمة المتغير الثاني (الاسم الثاني). وفي السطر الرابع نقوم بطباعة أو إخراج المتغير الجديد total_name الذي يحوي كلا الإسمين.

كما يمكنك فصل الإسمين بوضع فراغ بنهاية الاسم الأول أو بداية الاسم الثاني.

قم بفتح مستعرض الويب واذهب إلى http://localhost/name.php

ستلاحظ النتيجة التالية:

Mike Shinoda




استخدمنا النقطة لدمج متغيرين والحقيقة يمكننا دمج عدة متغيرات مع بعضها مهما كانت قيمها...

قم بإزالة علامتي الاقتباس من الملف السابق مع إزالة نقطة واحدة وذلك لدمج المتغيرين بواسطة نقطة واحدة ومن دون أي فاصل, قم بإعادة تحميل الصفحة وشاهد الفرق.
 

هناك تعليق واحد:

eng mervat يقول...

انا طلب مني تاسك اعملها علشان اقبل ف شغل ارجوكم افيدوني لازم اربط بين html و phpو sql لتصميم موقع وكم المدة لتعلم الphp