عرض مشاركة واحدة
قديم 07-19-2009, 11:35 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
SoLiTair4Ever
::. Moderators .::
 
الصورة الرمزية SoLiTair4Ever
 

 

 
إحصائية العضو









SoLiTair4Ever غير متواجد حالياً

إرسال رسالة عبر MSN إلى SoLiTair4Ever إرسال رسالة عبر Skype إلى SoLiTair4Ever

 

 

إحصائية الترشيح

عدد النقاط : 14
SoLiTair4Ever is on a distinguished road

.......... الدرس السابع عشر(المتغيرات)


بسم الله الرحمن الرحيم والصلاة والسلام على اشرف الانبياء والمرسلين ، بعد المقدمات السابقة والهامة في معرفة اساسيات اللغة يمكننا بداية كتابة البرامج بلغة البي اتش بي ، وبطبيعة الحال سنبدأ من اصغر الاساسيات واهمها في كتابة البرامج عموماً وهي المتغيرات .

المتغيرات في لغة الـ 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$ ) لن يتم طبـاعة أي شي .

منقوووول للافادة




hg]vs hgshfu uav(hgljydvhj)