PDA

عرض كامل الموضوع : دورة مبسطة بالـ PHP الجزء الثاني



Brave Heart
15-04-2004, 03:33 AM
السلام عليكم.

نكمل لكم الجزء الثاني بهذه الدورة المبسطة و نبدأ بإسم الله:

التعبيرات الحسابية
توجد أيضا في لغة PHP تعبيرات للقيام بالعمليات الحسابية الأربع ( الجمع والطرح والضرب والقسمة )

بالإضافة إلى عملية أخرى هي باقي القسمة ( يتعرف عنها المزيد بعد قليل ).

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

وضعها بين معاملين، مثال على ذلك :
[left]5 + 10 [/center]

الشفرة السابقة عبارة عن تتعبير يعيد القيمة 15، والتي هي عبارة عن حاصل جميع العددين 5 و 10، التعبير

السابقة بمفرده لا يفيد في شيء، لنرى مثالا حقيقيا على كيفية استخدام التعبير السابق أنظر الشفرة التالية :
[left]$sum = 5 + 10; [/center]

في العبارة السابقة نجد عاملا مختلفان وثلاثة معاملات، العاملان هما علامة المساواة وعلامة الجمع، أما العوامل

فهي المتغيرة $sum والعدد 5 والعدد 10، في العبارة السابقة يتم وضع القيمة 15 داخل المتغيرة

$sum، العملية التي تتم أولا هنا هي أن يتم جمع العددان 10 و 5 فنحصل على المجموع 15، وبعد ذلك يتم تنفيذ

عملية المساواة ووضع القيمة الموجودة على اليمين ( وهي 15 الآن بعد تنفيذ العملية الأولى ) في المتغيرة

الموجودة على اليسار وهي $sum.

مثال آخر على ذلك :

[left]$number1 = 10;
$number2 = 5;
$sum = $number1 + $number2;[/center]

في العبارة السابقة يتم جميع قيمة المتغيرة $number1 مع قيمة المتغيرة $number2 ووضع

ناتج عملية الجمع في المتغيرة $sum.

يمكنك أيضا استخدام العمليات الحسابية الأخرى في عباراتك، مثال على ذلك :
[left]$var = 145 * 242; [/center]

العبارة السابقة تقوم بضرب 145 في 242 وتضع ناتج عملية الضرب في المتغيرة $var، يمكنك أيضا عمل

عبارات تتكون من أكثر من عملية واحدة، مثال على ذلك :
[left]$var = 123 * 33 + 1593; [/center]

تقوم العبارة السابقة بضرب العددين 123 و 33 في بعضهما البعض ثم تضيف العدد 1593 إلى ناتج عملية

الضرب ثم تضع القيمة النهائية في المتغيرة $var.

يمكننا أيضا كتابة عبارات مثل العبارة التالية :

[left]$var = 10;
$var = $var + 1;[/center]

في الشفرة السابقة تقوم العبارة الأولى بوضع العدد 10 في المتغيرة $var، وتقوم العبارة الثانية بوضع قيمة

المتغيرة $var مضافا إليها واحد في المتغيرة $var نفسها، وهذا الأمر قانوني ومسموح جدا، وفي

الواقع أن هذا النوع من العبارات مستخدم بكثرة بحيث أصبح بالإمكان اختصاره إلى التعبير التالي :
[left]$var += 1; [/center]

وهو يعني أضف إلى قيمة المتغيرة $var الرقم واحد، وهو مطابق تماما للعبارة التالية :
[left]$var = $var + 1; [/center]

يمكننا عمل ذلك أيضا في العوامل الحسابية الأخرى أيضا، مثال على ذلك السطر التالي الذي يغير إشارة الرقم

المخزن في المتغيرة :
[left]$var *= -1; [/center]

علاوة على ذلك، فإن كثرة الحاجة إلى إضافة 1 أو إنقاص واحد من قيم أحد المتغيرات أدى إلى إيجاد طريقة أفضل

لعمل ذلك كالتالي :
[left]$var++; [/center]

العبارة السابقة تقوم بما تقوم به أي من العبارتين التاليتين :

[left]$var = $var + 1;
$var += 1;[/center]

ويوجد أيضا التعبير التالي لإنقاص 1 من قيمة المتغيرة :
[left]$var--; [/center]

بقي الآن أن نشرح وظيفة معامل الباقي ( % )، وظيفة هذا المعامل باختصار هو أنه يعيد باقي قسمة عدد على

عدد آخر، على سبيل المثال :
[left]$var = 13 % 3; [/center]

العبارة السابقة تقوم باحتساب باقي قسمة العدد 13 على العدد 3 وتضع الناتج في المتغيرة $var، وباقي

القسمة في المثال السابق هو الرقم 1، لأن القسمة تكون 12 / 3 = 4 والباقي 1، يفيدك هذا المعامل في

الكثير من الأمور مثل معرفة ما إذا كان العدد المخزن في أحد المتغيرات زوجيا أو فرديا، حيث أن باقي قسمة

الأعداد الزوجية على 2 هو صفر، وباقي قسمة الأعداد الفردية على 2 هو 1.

الأولويات
أنظر إلى العبارة التالية وحاول توقع قيمة المتغيرة $var :
[left]$var = 2 * 2 + 3; [/center]

ما الذي سيقوم به البرنامج؟ هل سيقوم بضرب الرقم 2 في 2 ثم يضيف 3 إلى الناتج، أم سيقوم بجمع 3 إلى الرقم

2 ثم يضرب الناتج بالرقم 2؟ إن معرفة ذلك تعتبر أمرا مهما، لأن الناتج في كل عملية سيكون مختلفا، ففي الحالة

الأولى سيكون الناتج 7 أما في الحالة الثانية فسيكون الناتج 10 ! لحل هذه المشكلة تم عمل قائمة مرتبة تحدد

أولوية العوامل، بحيث تكون العوامل التي في أعلى القائمة تنفذ أولا ثم التي بعدها ثم التي بعدها وهكذا، وفيما يلي

قائمة الأولويات للعوامل الحسابية التي قرأنا عنها حتى الآن : العوامل الأساسية حسب أولويتها

()
* /
+ -
=


وكما تلاحظ فإن الأقواس تمتلك أعلى أولوية من بين جميع المعاملات الأخرى، ولهذا السبب فإننا نستخدم الأقواس

لتغيير أولوية العوامل الأخرى، لنعد إلى المثال السابق، نرى بأن الطريقة الأولى هي الطريقة التي كان البرنامج

سيتبعها لاحتساب الناتج، أي أنه كان سيضرب الرقم 2 في 2 ثم يضيف 3، أي أنه كان سينفذ عملية الضرب قبل

الجمع لأن الضرب يمتلك أولوية أعلى من الأولوية التي يمتلكها الضرب، فماذا لو كنا نريد من البرنامج أن ينفذ

العبارة السابقة بالطريقة الثانية، أي أن يقوم بعملية الجمع أولا ثم عملية الضرب بعد ذلك؟ في هذه الحالة سنلجأ

لاستخدام الأقواس لرفع أولوية عملية الجمع كالتالي :
[left]$var = 2 * (2 + 3); [/center]

في العبارة السابقة توجد لدينا الأقواس التي تمتلك أولوية أعلى من جميع العمليات الأخرى ( بما فيها عملية

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

السابق )، وبعد ذلك يتم تنفيذ العملية التي تأتي بعد الأقواس بالأولوية وهي عملية الضرب، ويكون تقييم الطرف

الأيمن من علامة المساواة قد انتهى.

لاحظ أيضا بأن العمليات التي تمتلك نفي الأولوية تنفذ واحدة تلو الأخرى حسب ورودها في العبارة، مثال على ذلك

العبارة التالية :
[left]$var = 12 * 12 / 23; [/center]

كما تلاحظ في الجدول فإن عمليتي الضرب والقسمة يمتلكان نفس الأولوية لذلك فإن المترجم يقوم بتنفيذ هذه

العمليات واحدة تلو الأخرى حسب ترتيب ورودها في العبارة، فعملية الضرب في العبارة السابقة ظهرت قبل عملية

الجميع لذا فهي تنفذ أولا، وبعد ذلك تنفذ عملية القسمة التي وردت بعد عملية الضرب في العبارة.

التعامل مع النصوص
تسهل عليك لغة PHP التعامل مع النصوص بصورة كبيرة، يمكنك وضع النصوص في المتغيرات بسهولة

شديدة كالتالي :
[left]$var = "This is a string.";

[/center]

كما يمكنك نقل النصوص من متغيرة إلى أخرى بسهولة أيضا :

[left]$var1 = "This is a string.";
$var2 = $var1;[/center]

يمكنك أيضا توصيل أكثر من قطعة نصية وذلك عن طريق عامل النقطة ( . )، وهو يأخذ عاملين على يمينه

ويساره ويحولهما إلى نصوص إذا لزم الأمر ويعيد قطعة نصية تتكون من القطة الأولى مضاف إلي نهايتها القطة

النصية الثانية، مثال على ذلك :

[left]$var1 = "This is ";
$var2 = "a string.";
$var3 = $var1 . $var2;[/center]

لأن النصوص في لغات البرمجة تعتبر سلاسلا من الأحرف فقد جرت العادة أن يطلق الاسم ( سلسلة ) على

أي قطعة نصية ( مجموعة من الأحرف ) وسنبدأ باستخدام كلمة سلسلة منذ الآن بدلا من الكلمة ( قطعة

نصية ).

أنواع البيانات
حسب التعريف البسيط للبرنامج فهو عبارة عن شيء ما يقوم بأخذ المدخلات وإعطائنا مخرجات، أي أن وظيفته هي

التعامل مع مجموعة من البيانات، أحد المشاكل التي تواجه المبرمج هو أن هنالك الكثير من الأنواع من البيانات

لتحقيق العديد من الأغراض، فهنالك البيانات نصية ( السلاسل )، والبيانات الرقمية ( الأرقام والأعداد )،

وهنالك المصفوفات وغيرها، تمكنك بعض لغات البرمجة ( بما فيها PHP ) من إنشاء أنواع البيانات

الخاصة بك إذا لم تكن الأنواع القياسية مناسبة لما تريده.

التحويل بين أنواع البيانات
تمتلك PHP قدرة رائعة على التحويل بين أنواع البيانات، ويشمل التحويل بين أنواع البيانات نقطتين في لغات

البرمجة يحتاج المبرمج إلى القلق حيالهما عادة إلا أن PHP تريحك تماما من هذه المهام وتقوم بها تلقائيا، ولكن

حتى نحصل على فهم كامل لما يدور وراء الكواليس يجب أن نعرف المزيد من المعلومات حول هذا الموضوع.

المشكلة الأولى التي تواجد المبرمج عند التعامل مع أنوا مختلفة من البيانات هو أن الأنواع المختلفة من البيانات تأخذ

أحجاما مختلفة من الذاكرة، وبالتالي فإن المتغيرة التي نستخدمها لتخزين رقم ما تحتاج إلى قدر أقل بكثير من الذاكرة

من المتغيرة التي مستخدمها لتخزين سلسلة نصية ما وهكذا، كل نوع من أنواع البيانات يحتاج إلى متغيرة من نفس

النوع وبنفس الحجم، في لغة PHP هذا الأمر غير ضروري أبدا، يقوم مترجم PHP ( وبالذات في

الإصدارة الرابعة منه ) بعمل رائع في التعامل مع البيانات المخزنة في المتغيرات حيث يقوم بحجز المقدار

المناسب تماما لكل متغيرة، وبمجرد أن تغير محتوى أحد المتغيرات يقوم البرنامج تلقائيا بتحرير الذاكرة المختزنة في

المتغيرة وحجز المقدار المناسب من الذاكرة للبيانات الجديدة، وبالتالي تكون المشكلة قد حلت، ويمكنك ببساطة ع

نظرة معمقة في التعبيرات
إلى هنا يجب أن تكون قد عرفت كيفية كتابة العبارات البرمجية اللازمة لتخزين الأرقام في المتغيرات، وتنفيذ

العمليات الحسابية على هذه المتغيرات، ولكن حتى نحصل على فهم أكبر لكيفية تنفيذ هذه العمليات يجب أن نقوم

بإلقاء نظرة سريعة على الكيفية التي ينفذ بها مترجم اللغة العبارة البرمجة، تتكون العبارة البرمجية من عدة تعبيرات،

هذه التعبيرات البرمجية إما أن تكون في صورة ثوابت مثل الرقم 3 أو الرقم 2، أو ثوابت ذات أسماء ( وهي

متغيرات لا نغير قمتها، سنعرف المزيد عنها فيما بعد )، أو متغيرات أو دالة ( ستعرف على الدوال فيما بعد

أيضا )، ويمكن للتعبيرات أن تكون مركبة أيضا من عدة تعبيرات تربطها المعاملات المختلفة ( مثل المعاملات

الرياضية التي سبق لك معرفتها أو معاملات أخرى سنعرفها فيما بعد أيضا )، عندما يبدأ المترجم بتنفيذ تعبير

برمجي ما فإنه يقوم بتقسيمه إلى التعبيرات التي يتكون منها هذا التعبير، ثم التعبيرات التي تتكون منها التعبيرات

السابقة، وهكذا يقوم المترجم بتبسيط العبارة البرمجية إلى أبسط تعبيراتها لتصبح قابلة للتنفيذ، ثم يقوم بتنفيذ جميع

العمليات ذات الأولوية الأولى بالترتيب، وفي كل عملية يتم تنفيذها، تزال العملية من العبارة ويوضع بدلا منها ناتج

تنفيذها، وبعد ذلك يتم تنفيذ العمليات ذات الأولوية الثانية، وتوضع بدلا منها نواتجها، وهكذا تمر العبارة في العديد من

عمليات الفلترة حتى تصل في النهاية إلى قيمة واحدة، تمثل التعبير أو العبار البرمجية بأكملها، لا يوجد في الواقع أي

فرق بين التعبير البرمجي والعبارة البرمجية، فكل تعبير برمجي في لغة PHP يمكن أن يستخدم كعبارة برمجة،

وكل عبارة برمجية هي في الأصل من تعبير برمجي واحد وهذه التعبيرات تتكون بدورها من تعبيرات أصغر

وهكذا.

من الطبيعي أن يبدو الأمر معقدا للوهلة الأولى ولكنه في غاية البساطة، دعنا نعطي مثال على ذلك العبارة التالية

:
[left]$var1 = $var2 + 23 / 34 ( 304 *

$var3 ); [/center]

سنقوم الآن بتنفيذ العبارة السابقة خطوة بخطوة، وبالطبع عندما يمر المترجم على عبارة مثل العبارة السابقة فإنه

سيكون يعرف مسبقا قيم المتغيرات $var1 و $var2 و $var3 وإذا لم يكن يعرفها مسبقا

فإنه سيقوم بإنشائها تلقائيا كمتغيرات فارغة، لتسهيل الأمر سنفرض أن المتغيرتين $var2 و $var3

معرفتان مسبقا، وأما المتغيرة $var1 فسنفرض بأنها لم تعرف من قبل، قيم المتغيرات $var2 و

$var3 كالتالي :

[left]$var2 = 22;
$var3 = 11;[/center]

حسنا نعود إلى عبارتنا البرمجية، يجب أن تعلم أولا أن العبارة البرمجة في لغة PHP هي تعبير برمجي ينتهي

بفاصل منقوطة، دعنا ننظر الآن إلى التعبير البرمجي الذي نريد من البرنامج تقييمه، بالطبع هو نفسه العبارة البرمجة

ولكن دون الفاصلة المنقوطة :
[left]$var1 = $var2 + 23 / 34 + ( 304 *

$var3 ) [/center]

في الخطوة الأولى كما ذكرنا سابقا يقوم البرنامج بالنظر إلى التعبير البرمجية وتحويله إلى تعبيرات أبسط منه، وهي

عملية تتم داخليا والهدف منها تسهيل تنفيذ العملية التالية، العملية التالية كما قلنا هي تنفيذ العبارات البرمجة البسيطة

هذه من الداخل إلى الخارج حتى نستطيع أن نحصل على قيمة عامة للعبارة البرمجية، وكما قلنا فإن التنفيذ سيتم بدءا

بالعوامل ذات الأولوية العالية نزولا إلى العوامل ذات الأولوية المنخفضه، فسيتم أولا تنفيذ التعبير البرمجي الموجود

بين الأقواس والمحدد بالخط العريض :
[left]$var1 = $var2 + 23 / 34 + ( 304 *

$var3 ) [/center]

حسنا، أصبح التعبير البرمجي الذي نريد تنفيذه الآن هو التعبير التالي فقط :
[left]304 * $var3 [/center]

التعبير السابق يتكون من تعبيرين بينهما عملية ضرب، سيقوم المترجم الآن بتحليل كل من التعبيرين على حدى، بدءا

بالتعبير الأول وهو التعبير التالي :
[left]304 [/center]

وهو كما هو، الرقم 304، أما التعبير الثاني :
[left]$var3 [/center]

التعبير السابق عبارة عن متغيرة، والمتغيرات يجب استبدالها بقيمها فيتم تحويل التعبير السابق ليصبح كالتالي :
[left]11 [/center]
لأن قيمة المتغيرة $var3 هو 11 كما عرفناها مسبقا.

هكذا نكون قد غصنا إلى أبسط التعبيرات في العبارة البرمجة ونفذناها، دعنا نخطو الآن خطوة إلى الخارج، العبارة

التي كانت بين القوسين أصبحت الآن كالتالي :
[left]304 * 11 [/center]

يتم الآن تنفيذ العبارة السابقة بأكملها عن طريق ضرب القيمتين الموجودتين على جانبي معامل الضرب وهو الرقم

3344، ويتم الآن وضع هذا الرقم بدلا من الأقواس في العبارة البرمجية الأصلية لتصبح كالتالي :
[left]$var1 = $var2 + 23 / 34 + 3344

[/center]

بعد أن تم الآن تنفيذ المعاملات ذات الأولوية الأولى ( الأقواس ) يتم الآن تنفيذ العمليات التي تليها في الأولية

( القسمة في المثال السابق )، ويتم تنفيذ هذه العمليات بالتسلسل كما قلنا من اليسار إلى اليمين ( ما عدا بعض

العمليات التي تنفذ من اليمين إلى اليسار )، إذا يقوم البرنامج الآن بتنفيذ عملية القسمة ووضع ناتج التنفيذ بدلا منها

لنحصل على التعبير التالي :
[left]$var1 = $var2 + 0.67 + 3344

[/center]

يتم الآن تنفيذ عمليتي الجمع الباقتين على خطوتين، في الخطوة الأولى يتم جمع التعبير الذي على يسار عملية الجمع

الأولى مع التعبير الذي على يمينها ثم يوضع الناتج في مكانهما، وكما قلنا سابقا المتغيرة تستبدل بقيمتها :
[left]$var1 = 22.67 + 3344 [/center]

والخطوة الثانية هي تنفيذ عملية الجمع الثانية لنحصل على التعبير التالي :
[left]$var1 = 3366.67 [/center]

يتم الآن تنفيذ عملية التعيين وهي العملية الأقل أولوية من بين جميع العمليات، لهذا السبب فهي تنفذ في المرحلة

الأخيرة بعد أن يكون هنالك تعبير بسيط ( غير مركب من عدة تعبيرات ) على اليمين ومتغيرة على اليسار،

ويتم وضع الرقم الذي على اليمين في المتغيرة التي على اليمين، في مثالنا السابق كان الرقم النهائي هو 3366.67

ويتم وضعه في المتغيرة $var1، بالطبع لأن $var1 لم تعرف مسبقا في البرنامج فإن مترجم اللغة

يقوم بتعريفها تلقائيا أولا ثم يضع فيها قيمة التعيين.

جميع التعبيرات في لغة PHP لها قيم معينة، حتى عندما نصل إلى عبارة التعيين مثل هذه :
[left]$var1 = 3366.67 [/center]

القيمة التي يمتلكها تعبير التعيين هي نفسها الرقم الموجود على يمينه ( القيمة التي يتم تعيينها أو وضعها في

المتغيرة )، أي أن التعبير السابق يستبدل في النهاية بالتعبير التالي :

3366.67

بالطبع التعبير التالي لا يمتلك أية فائدة الآن، فهو مجرد تعبير برمجي بسيط لا يمكن تنفيذه وتقييمه أكثر من ذلك، ما

الهدف إذا من وضع قيمة لتعبير التعيين؟ السبب في ذلك هو تمكيننا من استخدام عبارة التعيين في بعض الأماكن

التي تكون فيها قيمتها مفيدة لنا، على سبيل المثال إذا أردنا وضع رقم معين في ثلاثة متغيرات، يمكننا كتابة العبارة

كالتالي بالطبع :

[left]$var1 = 10;
$var2 = 10;
$var3 = 10;[/center]

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

:
[left]$var1 = ($var2 = ($var3 = 10));

[/center]


في العبارة السابقة يتم تنفيذ ما بداخل الأقواس أولا، وبداخل الأقواس توجد أقواس أخرى يتم تنفيذ الأقواس الداخلية

أولا، بعد تنفيذ الأقواس الداخلية يكون المترجم قد وضع الرقم 10 في المتغيرة $var3، ولأن عبارة التعيين

تعيد القيمة التي تم تعيينها للمتغيرة فإن العبارة الموجودة بداخل الأقواس الداخلية تعيد القيمة 10، لتصبح العبارة

كالتالي :
[left]$var1 = ($var2 = 10) [/center]

بنفس الطريقة تنفذ العبارة التي بين الأقواس ويتم وضع الرقم 10 في المتغيرة $var2، ويوضع بدلا من تعبير

التعيين الرقم الذي تم تعيينه للمتغيرة ( الرقم 10 في مثالنا ) لتصبح العبارة كالتالي :
[left]$var1 = 10 [/center]

يتم تنفيذ العبارة السابقة أيضا ويتم تعيين القيمة 10 للمتغيرة $var1، وبالتالي نكون قد حققنا الهدف بعبارة

واحدة بدلا من ثلاثة عبارات مختلفة.

دعنا نرى الآن ما إذا كان بإمكاننا استخدام عبارة أكثر وضوحا وجمالا من السابق مثل العبارة التالية مثلا :
[left]$var1 = $var2 = $var3 = 10;

[/center]

في العبارة السابقة قمنا بإزالة الأقواس من العبارة، فما الذي سيحدث الآن؟ هل سيتم وضع الرقم 10 في كل من

المتغيرة $var1 و $var2 و $var3؟ نعم هذا ما سيحدث، ولكن هنالك أمرا قد يسبب لك

الاتباك، وهو أن العبارة السابقة كانت تتكون من عدة تعبيرات تعيين أي أن لها نفس الأولوية فلماذا لا يتم تنفيذها

كالعادة من اليسار إلى اليمين بحيث توضع قيمة المتغيرة $var2 في المتغيرة $var1 وقيمة

المتغيرة $var3 في المتغيرة $var2 ثم يوضع الرقم 10 في المتغيرة $var3؟ لماذا يتم

وضع الرقم 10 المتغيرات الثلاثة كلها؟ السبب في ذلك هو أن التعبير الموجود على يمين تعبير التعيين الأول هو

ليس المتغيرة $var2 بل هو في الواقع الباقي من التعبير بأكمله، ولأن عبارة التعيين تأخذ قيمة بسيطة

وتعبيرا غير قابل للتبسيط على يمينها دائما، لذا فيجب تنفيذ التعبير الذي على يمينها أولا حتى نستطيع تنفيذها، أي أن

أول جزء يحاول البرنامج تنفيذه هو الجزء المحدد بالخط العريض في العبارة :
[left]$var1 = $var2 = $var3 = 10

[/center]

وعند محالة تنفيذ هذا الجزء يجد المترجم نفسه بحاجة إلى تبسيط العبارة الموجود على يمين تعبير التعيين الأول فيه

مرة أخرى فينتقل لتنفيذ هذا الجزء أولا :
[left]$var1 = $var2 = $var3 = 10

[/center]

وبعد تنفيذ هذا الجزء ووضع القيمة 10 في المتغيرة واستبدال التعبير بالرقم الذي على يمين عبارة التعيين ( الرقم

10 في مثالنا )، تصبح العبارة كالتالي :
[left]$var1 = $var2 = 10 [/center]

بحيث يمكن على المترجم الآن تنفيذ الجزء الذي يظهر باللون العريض في المثال السابق، ثم يقوم بوضع قيمته بدله

منه لنحصل على العبارة :
[left]$var1 = 10 [/center]

التي يتم تنفيذها في النهاية، وتكون الحصيلة هي أننا وضعنا الرقم 10 في المتغيرات الثلاثة في عبارة برمجية

واحدة.

هنالك أيضا أمور أخرى يسهل تتفسيرها عند معرفة الكيفية التي يقيم بها المترجم عباراته مثل العبارة التالية :
[left]$var = $var + 3; [/center]

حيث أن الجزء الذي على يمين عبارة المساواة ينفذ أولا ( الأولوية لعبارة الجمع أعلى منها لعبارة التعيين )،

وعند جميع المتغيرة $var مع الرقم 3 يقوم البرنامج في الواقع بجمع الرقم 3 إلى القيمة الأصلية للمتغيرة،

وهو لا يهتم أبدا فيما إذا كنا سنقوم بوضع قيمة الجمع في نفس المتغيرة الموجودة في الطرف الأيسر من عملية

الجمع، وبعد تعبير الجمع تصبح العبارة كالتالي بفرض أن المتغيرة $var كان تحوي القيمة 2 قبل تنفيذ

العبارة السابقة :
[left]$var = 5 [/center]

وهي عبارة بسيطة دون أية مشاكل، كذلك بالنسبة للعبارة التالية التي لا تقوم بأي شيء أبدا إلا أنها عبارة سليمة

طبقا للقواعد البرمجية :
[left]$var = $var;[/center]

و السلام عليكم. :)

طبوش
26-09-2007, 10:48 AM
السلام عليكم
الحقيقة انا عضو جديد هنا,, شكرا عالدورة المبسطة واللي يحتاج اي شي في ال php بامكانه انو يطلب مني وانا في الخدمة

المضياني
10-10-2007, 07:12 PM
مشكور على الدورة ويعطيك العافية ...

لـمــســـــــــــات
23-11-2007, 11:46 AM
موضوع قيم ومفيد

يعطيك العافية على المجهود الواضح :)

#بنت طفشانه#
25-11-2007, 03:17 AM
الله يعطيك الف عافيه ...

وان شاءالله يستفيد الكل

msmbm2003
11-03-2008, 02:01 AM
السادة الكرام أنا أخوكم قليل المعرفة بالكمبيوتر أعرف PHP إنها حقة برمجة مواقع وكنت متابع معك الدرس لاكن جبلي من فظلك مثال حي أعرف كيف أستفيد منه يعني إنت أعطيتني مسائل حسابية ولاكن كيف أطلع الصور و كيف أسخدم هذي المسائل ومتى أحتاجها أرجوك رجاء خاص
http://www.yabdoo.com/users/3583/gallery/139_p1740.gif

captain
06-04-2009, 02:21 PM
السادة الكرام أنا أخوكم قليل المعرفة بالكمبيوتر أعرف PHP إنها حقة برمجة مواقع وكنت متابع معك الدرس لاكن جبلي من فظلك مثال حي أعرف كيف أستفيد منه يعني إنت أعطيتني مسائل حسابية ولاكن كيف أطلع الصور و كيف أسخدم هذي المسائل ومتى أحتاجها أرجوك رجاء خاص
http://www.yabdoo.com/users/3583/gallery/139_p1740.gif



المسائل تستخدمها وقت احتياجك لها، في دوال الدوران Loop تحتاج الى الى عمليات جمع و اخرى طرح على حسب الفنكشن الذي تصنعه ، في الخدمة لو احتجت شيئ مباشر ومحدد