صفحة 1 من 1

المتغيرات بشكل عام [ مقدمه في php , جزء 8 ]

مرسل: 12 أكتوبر 2008, 21:50
بواسطة saanina
يجب أن تكون قد إطلعت على الاجزاء السابقه ..
  1. ماهي php ؟
  2. مالذي أستطيع فعله مع php؟
  3. أريد أن أبدأ مع php ماذا احتاج؟
  4. صفحتك الأولى في php
  5. أشياء مفيده أخرى
  6. التعامل مع النماذج و المدخلات
  7. النماذج والمتغيرات الخارجيه
لنبدأ :

تكلمنا سابقا ببساطه عن المتغيرات ولم نركز عليها .. لكن الآن لنفهم شيئاً بسيطاً عنها ..

المتغيرات في php تبدأ بعلامة الدولار $ ويتبعها إسم المتغير , وإسم المتغير حساس لحالة الاحرف "case-sensitive" , بعضكم لن يعرف معنى هذه الكلمة , حتى أنا في البدايه لم أتقن الفكره إجمالاً , لكن سوف أخبرك الآن معناها ببساطه , حساس لحالة الأحرف الأنجليزيه أي أن الحرف a ليس هو نفسه A في المتغير فمثلاً :

كود: تحديد الكل

$ahmed
لا يعني أبداً بأي حال من الأحوال :

كود: تحديد الكل

$Ahmed
فكلاهما متغير مختلف , فقط لتغير نوع الحرف "كبير كان او صغير" .. هذا الموضوع ببساطه !

اسم المتغير أي مابعد علامة الدولار $ يبتدي بـأي حرف او شرطه سفليه "_" يتبع ذلك أي عدد من الحروف او الأرقام.

هناك إسم واحد وهو "$this" لايمكنك إستخدامه .. لأنه محجوز .

لنأتي للفكره عموماً .. لنكتب مثالاً ..

كود: تحديد الكل

<?php
$var = 'Bob';
$Var = 'Joe';
?>


المتغير هو حيّز يحمل قيمة معينه , يمكن تغييرها كل ما أردت ..
في المثال السابق المتغير $var يحمل قيمة هي "Bob" أما المتغير $Var فيحمل القيمة "Joe"
ماذا لو قمنا بطباعه المتغيرات :

كود: تحديد الكل

<?php
echo $var;
echo $Var;
?>

سوف ينتج

كود: تحديد الكل

BobJoe
ماذا لو قمنا بتجربة اول مثال مع تغيير بسيط جداً ..

كود: تحديد الكل

<?php
$var = 'Bob';
$var = 'Joe';
?>

كود: تحديد الكل

<?php
echo $var;
?>

سوف ينتج
المتغير , يوصف بأنه أيضا متغير , أي ان الاسم مطابق لوظيفته , فهو يحمل اخر قيمة تم إسنادها إليه (بعكس الثوابت, لاحقا نمر عليها) .. فالمتغير كان يحمل قيمة "Bob" و قمنا بتغييرها لـ "Joe" , إذن القيمة تغيرت واصبحت أخر قيمة تم إسنادها له !

نسيت أن أخبرك أن قيمة المتغير تكون نصوص أو أرقام و أشياء أخرى لاتشغل بالك بها الآن , المهم الآن هو أن المتغير يحمل قيمة وتتغير القيمة بتغييرنا لها كل ما أردنا ..

أيضا تستطيع أن تعطي قيمة متغير لمتغير أخر مثل :

كود: تحديد الكل

<?php $var1 = $var2; ?>
وبالتالي كلاهما يحملان الآن نفس القيمه .

لنتأكد من صحة التالي :

كود: تحديد الكل

$4site = 'not yet'; 
$_4site = 'not yet'; 
$täyte = 'mansikka'; 
الأول خاطئ لأنه لم يبدأ بحرف أو "_"
الثاني صحيح لأن بدأ بـ"_" ويحوي حروف وأرقام
الثالث أيضا صحيح لأن الحرف "ä" من حروف ASCII وهي حروف مسموحة بالأسماء ..

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

المثال على الميزه :

كود: تحديد الكل

$foo = 'Bob';
$bar = &$foo;
$bar ="joe";
echo $bar;
echo $foo; 
 

السطر الأول يعني أن $foo يحمل قيمة "Bob"
السطر الثاني قلنا أن المتغير $bar له مرجع من المتغير $foo.
السطر الثالث غيرنا قيمة المتغير $bar وبالتالي سوف تتغير قيمة المتغير $foo
السطر الرابع والخامس قمنا بطباعه المتغيرين وسوف ينتج القيمة "joe" مرتين

أي أن مايحصل لأحد المتغيرين يحصل للآخر ..

لايهم أن كنت لم تفهم اخر ميزه , فهي غير مهمه.

تابع الأجزاء .. وركزّ وجرّب

التالي >>
<< السابق
____________
المصادر :
PHP: Variables - Manual