قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  البرامج الثابتة/ Php اطبع قيمة المتغير. المتغيرات في PHP

إخراج php قيمة متغير. المتغيرات في PHP

صندوق الرمل

لونتيك 3 يناير 2014 الساعة 04:00 مساءً

تمرير قيم متغيرة من PHP إلى JavaScript

  • لغة البرمجة،
  • جافا سكريبت ،
  • بي أتش بي

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

ستركز مقالة اليوم على تمرير قيم PHP المتغيرة إلى JavaScript - البرمجة النصية.
هذا الدرس مناسب لمعظم المبتدئين ، أولئك الذين بدأوا للتو في برمجة الويب.
أولاً ، لنقم بإنشاء مستند index.php منتظم وسيكون هيكله العظمي HTML بسيطالشفرة.

العمل مع المتغيرات

الكود كله جافا سكريبتو بي أتش بيسنكتب في العلامات هيئة.
سيكون متغير PHP $ CITY مساويًا لـ "Ivanovo". نحتاج إلى تمرير قيمة هذا المتغير إلى متغير TOWN JavaScript.

لنكتب الآن الكود التالي في ملف index.php الخاص بنا:


ولذا انظر إلى ما ورد أعلاه من قبلنا كود البرنامج... لدينا متغير PHP اسمه CITY والقيمة Ivanovo ، ومهمتنا هي عرض هذه القيمة على الشاشة ، وليس باستخدام PHP ، ولكن باستخدام JavaScript.
للقيام بذلك ، نفتح علامات JavaScript كالمعتاد ونعلن عن متغير TOWN.

بدلاً من تخصيص JavaScript للمتغير TOWN ، نكتب كود PHP الذي ينتج متغير CITY الخاص بنا.
حان الوقت لاختبار الكود الخاص بنا في العمل.

أعطانا متصفحنا ما يلي:
مدينة العرائس والشباب: إيفانوفو

عند النظر إلى الكود المصدري للصفحة ، سنرى:

مما سبق ، نستنتج أنه من السهل جدًا نقل متغير من PHP إلى JavaScript.
شكرا لاهتمامكم ، كان DangerPro معك

العلامات: برمجة الويب، HTML، PHP، جافا سكريبت

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

Reg.ru: المجالات والاستضافة

أكبر مزود خدمة تسجيل واستضافة في روسيا.

أكثر من 2 مليون اسم نطاق في الخدمة.

الترويج ، البريد للمجال ، حلول الأعمال.

لقد قام بالفعل أكثر من 700 ألف عميل حول العالم باختيارهم.

إطار عمل Bootstrap: تخطيط سريع الاستجابة

دورة بالفيديو خطوة بخطوة حول الأساسيات التخطيط التكيفيفي إطار عمل Bootstrap.

تعلم كيفية الطباعة بسهولة وسرعة وكفاءة باستخدام أداة قوية وعملية.

تخطيط لطلب والحصول على أموال.

دورة مجانية "الموقع على وورد"

هل تريد إتقان WordPress CMS؟

احصل على دروس تعليمية حول تصميم وتخطيط موقع WordPress.

تعلم كيفية العمل مع السمات وتقسيم التخطيط.

دورة فيديو مجانية حول رسم تصميم الموقع وتخطيطه وتثبيته على CMS WordPress!

* حرك مؤشر الماوس لإيقاف التمرير مؤقتًا.

إلى الأمام

تمرير قيم متغيرة من JavaScript إلى PHP والعكس صحيح

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

في بعض الأحيان تنشأ الحاجة استخدام قيمة متغيرة PHP في نص جافا سكريبت، أو العكس: هناك متغير جافا سكريبت ، علينا استخدام قيمته في سكربت PHP.

في هذا البرنامج التعليمي سوف ننظر في أمثلة بسيطةمما سيسمح لك بفهم الآلية العامة لكيفية تنفيذ ذلك.

لكي تكون محددًا ، أقترح عليك إنشاء الكمبيوتر المحلياسم المضيف php_jsوضع الملف هناك index.php، حيث سننظر في أمثلةنا.

ملف Wireframe index.phpسيكون هناك ترميز HTML بسيط:

تمرير القيم المتغيرة

من أجل الوضوح ، سنكتب جميع الكود (بما في ذلك JavaScript) داخل العلامات هيئة.

1. تمرير قيمة متغير PHP إلى JavaScript

دعنا نكتب هذا الرمز في العلامة هيئة:

1. من PHP إلى JavaScript:

لذلك لدينا متغير PHP اسمه اسموالقيمة يوري، ومهمتنا هي عرض هذه القيمة ، ولكن ليس باستخدام PHP ، ولكن باستخدام JavaScript.

للقيام بذلك ، كالعادة ، نفتح كتلة من كود JavaScript وداخلها نعلن عن متغير باسم عشوائي (في حالتنا - اسم االمستخدم). الآن نقوم بتعيين نتيجة عمل المشغل كقيمة لهذا المتغير. صدى صوتيتم تطبيقه على متغير اسم.

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

وهكذا ، نحن نستخدم لغة PHPنقوم بإنشاء كود JavaScript صحيح نحويًا سيتم تنفيذه بشكل صحيح.

نتيجة تنفيذ هذا الخط في متغير اسم االمستخدمسوف تحصل على القيمة يوري.

هذا كل شئ. قيمة متغيرة PHP اسمتم تمريره إلى متغير جافا سكريبت اسم االمستخدم.

الآن نحتاج فقط للتأكد من ذلك في متغير JavaScript الخاص بنا اسم االمستخدميتم تخزين القيمة المتوقعة. للقيام بذلك ، نعرض قيمة هذا المتغير على الشاشة باستخدام document.write.



2. تمرير قيمة متغير JavaScript إلى PHP (طريقة GET)

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

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

بعد كل شيء ، لا يعرف نص PHP أي شيء عن حقيقة أننا أنشأنا متغير JavaScript معينًا. ولن يعرف عن هذا الأمر حتى نرسل للخادم طلب GET أو POST ، حيث تظهر قيمة متغير JavaScript.

بعد ذلك ، بناءً على الطلب التالي ، سنكون قادرين على الوصول إلى قيمة متغير JavaScript هذا من نص PHP.

دعنا نضيف ما يلي ضمن الكود الحالي:




2. من JavaScript إلى PHP (طريقة GET):

"; echo "document.location.href="" . $_SERVER["REQUEST_URI"] . "?u_name=" + userName2"; echo ""؛ خروج () ؛)؟>

داخل كتلة كود JavaScript ، نقوم بإنشاء متغير اسم المستخدم 2مع المعنى دميتري.

تتمثل مهمتنا هنا في استخدام PHP لإنشاء برنامج JavaScript نصي صالح يعيد تحميل الصفحة الحالية وفي نفس الوقت ينقلها إلى الملف index.phpعبر شريط العنوان (أي باستخدام طريقة GET) القيمة الموجودة في متغير JavaScript اسم المستخدم 2.

للقيام بذلك ، نعرض الكتلة الافتتاحية لرمز JavaScript على الصفحة باستخدام عامل التشغيل صدى صوت، والذي قمنا بداخله بتعيين إعادة تحميل الصفحة الحالية عن طريق JavaScript ( document.location.href).

نستخدم قيمة العنصر كعنوان الصفحة REQUEST_URIمن المصفوفة العالمية _SERVER دولاروأضف معلمة مسماة u_nameوقيمة مساوية لقيمة المتغير اسم المستخدم 2.

نتيجة لذلك ، لدينا البناء الشرطي لو غير هذايعمل مثل هذا:

1. إذا ، عند الوصول إلى الصفحة index.phpفي المصفوفة العالمية _ احصل عليههناك عنصر به فهرس u_name(على سبيل المثال ، عملت إعادة التوجيه عن طريق JavaScript بنجاح) ، ثم نعرض قيمة متغير JavaScript الذي تم تمريره.

2. إذا ، عند الرجوع إلى الصفحة index.phpفي المصفوفة العالمية _ احصل عليهلا يوجد عنصر مع فهرس u_name، ثم يتم تشغيل نص JavaScript المعروض بواسطة PHP وإعادة التوجيه إلى نفس الصفحة ، ولكن مع المعلمة بالفعل u_nameبقيمة المتغير اسم المستخدم 2(تحدثنا عن هذا أعلى قليلاً).

الآن ، عند الإشارة إلى index.phpنحصل على النتيجة التالية:

كما ترى ، قمنا بتمرير قيمة المتغير إلى شريط العنوان باستخدام JavaScript اسم المستخدم 2... نتيجة لذلك ، في المصفوفة _ احصل عليهظهر عنصر به فهرس u_nameوالقيمة دميتري.

تم حل المشكلة ، والآن يمكننا معالجة القيمة المستلمة بأي شكل من الأشكال داخل سكربت PHP ، وهو ما فعلناه ، باستخدام عرض قيمة العنصر u_nameمن المصفوفة _ احصل عليه.

الخامس مصدر الرمزمن الصفحة التي تم إنشاؤها ، سنرى الصورة التالية:


لقد توصلنا أيضًا إلى هذه النقطة ، وهناك خيار آخر متبقي.


3. تمرير قيمة متغير JavaScript إلى PHP (طريقة POST)

في المثال السابق ، نظرنا في طريقة لتمرير قيمة باستخدام شريط العنوانمتصفح (بواسطة احصل على).

الآن سننظر في الخيار بتمرير القيمة دون استخدام شريط العنوان ، أي طريقة بريد.

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

بموجب الكود الحالي ، اكتب:




3. من JavaScript إلى PHP (طريقة POST):

قيمة متغير JavaScript:"؛) آخر (صدى""؛ خروج () ؛)؟>

بدايتنا متشابهة: في كتلة كود JavaScript ، نعلن عن متغير اسمه اسم المستخدم 3والقيمة الكسندر.

بعد ذلك ، دعنا ننتقل إلى كود PHP. نرى ذلك في الفرع لويتم فحص الوجود في المصفوفة العالمية _POST دولارعنصر مع فهرس u_name.

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

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

للقيام بذلك ، نعرض كتل الفتح والإغلاق لرمز JavaScript على الصفحة باستخدام عامل التشغيل صدى صوت، وداخلها نقوم بإنشاء كود JavaScript صحيح نحويًا.

مهمتنا تتلخص في استخدام أمر الإخراج document.writeفي JavaScript ، أخرج نموذج HTML عادي إلى الصفحة واستبدله في حقل النص الوحيد بالاسم u_nameالقيمة المخزنة في المتغير اسم المستخدم 3(الكسندر).

الجزء الأصعب هنا هو عدم الخلط بين الاقتباسات وهروبها.

لهذا السبب ، قبل كتابة مثل هذه السيناريوهات ، أنا أوصي بأن تنشئ أولاً ملف منفصلوكتابة كود JavaScript خالص فيه، والذي سيعرض النموذج ويستبدل قيمة المتغير في الحقل اسم المستخدم 3.

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

هذا بالضبط ما نقوم به في الفرع. آخر... لاحظ أن النص الناتج (مخصص للمشغل صدى صوت) في التنصيص... تبعا لذلك ، للبناء document.writeنحن نستخدم علامات الاقتباس المفردة.

يؤدي هذا الظرف إلى حقيقة أننا بحاجة إلى الهروب من جميع أحرف علامات الاقتباس الفردية الموجودة بين علامات الاقتباس الفردية الافتتاحية والختامية ، مما يحد من إخراج السطر للبناء document.write.

إذا ذهبت إلى الصفحة الآن index.phpفتكون النتيجة كالتالي:

كما ترى ، يوجد فراغ بعد العبارة "قيمة متغير جافا سكريبت:" لم يتلق نص PHP النصي قيمة متغير JavaScript حتى الآن اسم المستخدم 3... وهذا أمر مفهوم - بعد كل شيء ، لم يكن هناك بعد طلب إلى الخادم يمكن من خلاله نقل هذه المعلومات.

علاوة على ذلك ، أدناه في الشكل لدينا الكلمة الكسندر- فقط قيمة متغير JavaScript اسم المستخدم 3.

قمنا بإدخاله هنا فقط من أجل إرسال النموذج وتمرير قيمة هذا المتغير باستخدام الطريقة بريدنصنا الحالي index.php(إذا السمة عملفي عداد المفقودين ، سيتم نقل البيانات إلى البرنامج النصي الحالي).

بعد الضغط على زر الإرسال سنرى الصورة التالية:

الآن اختفى الشكل منا بسبب الفرع يعمل بالفعل لو، وبدلا من ذلك يتم عرض قيمة المتغير.

حسنًا ، لقد تعاملنا مع هذه المهمة أيضًا - قيمة متغير JavaScript اسم المستخدم 3مررنا إلى PHP النصي وعرضناه من المصفوفة _POST دولار.

هذا يختتم هذه المقالة الصغيرة. آمل حقًا أن تساعدك على فهم المبادئ الأساسية لتمرير القيم المتغيرة من JavaScript إلى PHP والعكس صحيح.

بالتأكيد لديك خزانة ملابس أو خزانة ذات أدراج في المنزل. مبدأ استخدامها بسيط: نضع الأشياء التي لا نحتاجها في الوقت الحالي ، ولكن قد نحتاجها بعد فترة.

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

تكوين المتغيرات

يمكنك وضع قيمة في المتغير على النحو التالي:

في الكود أعلاه ، أنشأنا متغير اسم $ ووضعنا قيمة إيفان فيه ، ثم أنشأنا متغير العمر $ وخصصنا القيمة 20 له.

يعني اسم "المتغير" أن قيمته يمكن أن تتغير أثناء تنفيذ البرنامج النصي:

في بعض اللغات ، يجب أولاً "التصريح" عن المتغير ثم استخدامه. الخامس إقرارات PHPلا - يتم إنشاء المتغير في اللحظة التي تضع فيها قيمة فيه.
ومع ذلك ، غالبًا ما يقول مبرمجو PHP "إعلان متغير" بدلاً من "إنشاء متغير".

أيضًا ، بدلاً من "وضع قيمة في متغير" ، غالبًا ما يقولون "إسناد قيمة".
السبب بسيط - الرمز = ، الذي بفضله نخزن قيمة في متغير ، يسمى "مشغل الإسناد". ومن هنا جاء مصطلح "مناسب".

قواعد التسمية المتغيرة

1. يبدأ اسم المتغير بالرمز $.

2. يمكن أن يكون الحرف الثاني حرفًا أو شرطة سفلية _

أسماء المتغيرات حساسة لحالة الأحرف. $ name و $ Name متغيرات مختلفة.

عرض قيمة المتغير على الشاشة

يمكنك عرض المتغير باستخدام الأمر echo الذي نعرفه بالفعل:

يتيح لك الأمر echo طباعة قيم متعددة على الشاشة مرة واحدة:

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

هناك أيضًا صيغة مختصرة لإخراج المتغيرات في PHP. بدلا من

قبل إصدارات PHP 5.4 لا تعمل صيغة الاختزال إلا عند تضمينها في إعدادات PHPالتوجيه short_open_tag ، والذي يسمح أيضًا باستخدام علامة مفتوحة قصيرة

التحقق من قيمة المتغير

لا يكون الأمر echo مناسبًا دائمًا للتحقق من القيمة الحالية للمتغير. على سبيل المثال ، إذا حاولت عرض سلسلة فارغة ، فلن يتم عرض "" أي شيء على الشاشة. وليس من الواضح ما هو السبب - متغير فارغ أو رمز لا يعمل.

لذلك ، تُستخدم الدالة var_dump () للتحقق من قيمة المتغير:

نتيجة تنفيذ النص:

سلسلة (5) سلسلة "Vasya" (0) ""

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

حذف المتغيرات

يمكنك حذف متغير موجود باستخدام وظيفة unset ():

حان الوقت الآن لممارسة القليل.

تذكر أن أي مهمة PHP يمكن أن يكون لها حلول متعددة. لذلك ، إذا كانت قراراتك تختلف عن تلك المكتوبة في هذا الموقع ، فهذا لا يعني على الإطلاق أنك فعلت شيئًا خاطئًا.

اكتب نصًا:
1. يخلق متغيرات مع العنوان والمحتوى وبعض القيم.
2. لإخراج قيمة متغير العنوان داخل علامة h1 وقيمة متغير المحتوى داخل علامة div.

عرض الحل

"، $ title،""؛ صدى صوت"

"، content $،"
"; ?>

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

الملاحظة:يتم تنشيط الإصدار التكيفي من الموقع ، والذي يتكيف تلقائيًا مع الحجم الصغير لمتصفحك ويخفي بعض تفاصيل الموقع لسهولة القراءة. مشاهدة سعيدة!

مرحبًا أعزائي القراء ، وقريبًا مطورو PHP أيضًا ؛) مقال مدونة اليوم موقعتشغيل! المكرسة ل أساسيات PHP: تفاصيل بناء الجملة ، وإخراج البيانات ، والمتغيرات ، ومعالجة الأخطاء. في سياق دورة دروس PHP ، سأحاول أن أخبرك بأكبر قدر ممكن من الأشياء الممتعة والمفيدة ، بينما أحاول عدم توسيع المقالات.

كتل PHP

أول شيء يجب أن تعرفه هو أنه يجب دائمًا تضمين كود PHP في علامات PHP:

تستطيع ايضا استخذام:

أولا، يجب أن تنتهي كل عبارة (تعبير) بفاصلة منقوطة ؛ على سبيل المثال:

// اطلب من PHP أن تعرض لنا جميع الأخطاء ذات الصلة تمامًا header ("نوع المحتوى: text / html ؛ charset = utf-8") ؛ // encoding echo "أول برنامج نصي لـ PCP يعمل!
"; // عرض النص على الصفحة ?>

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

"; ?>

ثالث, تعليمات PHPيمكن تقسيمها إلى عدة أسطر:

"; ?>

نتيجة:

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

الرابعة، PHP ، مثل جميع لغات البرمجة ، لديها تعليقات. في PHP هناك نوعان منها: سطر واحد ومتعدد الأسطر.

// - تعليق من سطر واحد # - هذا أيضًا تعليق من سطر واحد / * تعليقك * /- تعليق متعدد الأسطر

هناك رأي مفاده أن المبرمج المناسب يجب أن يكون لديه تعليقات لتشكل 30٪ من الكود بأكمله. ومع ذلك ، فإن كثرة التعليقات ليست ضرورية على الإطلاق ، فلا يجب ترك تعليقات مثل "هنا نظرت من النافذة وخدشت أنفي".

إخراج البيانات إلى PHP

يتم إخراج البيانات في لغة برمجة PHP عن طريق تركيبتين رئيسيتين للغة:

"؛ طباعة" هذا هو نفس النص بالضبط "؛؟>

الفرق هو أن حسب التنفيذ مطبعةإرجاع واحد ، بينما صدى صوتلا ترجع شيئا. إذا كنت لا تعرف بالضبط كيفية استخدامه ، فاستخدم صدى صوتولا تهتم ، خاصة عند استخدام echo ، يمكنك القيام بذلك:

"،" أول برنامج نصي لـ PCP يعمل! "،"";
// أيضًا ، ولكن بطباعة:مطبعة "

"؛ طباعة" أول برنامج نصي لـ PCP يعمل! "؛ طباعة"

"; ?>

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

بالمناسبة ، يمكن كتابة نفس الشيء مثل هذا:

هذا ما قصدته في المقال السابق عندما ذكرت ذلك.

تعمل المتغيرات في أي لغة برمجة على تخزين بعض المعلومات داخل نفسها ، أي أن المتغير هو سفينتنا. يمكننا وضع أحدهما هناك أولاً ، ثم إزالة الأول ، ووضع الثاني ، أو يمكننا ترك الأول والإبلاغ عن ثانية أخرى (والثالثة ، إلخ).

تبدأ المتغيرات في PHP بشكل رمزي - بعلامة الدولار $ ، وبعدها يجب أن يتبع إما حرف لاتيني أو شرطة سفلية دون مسافة (لا يمكن أن يكون الرقم هو الحرف الأول في اسم متغير). علاوة على ذلك ، يمكن أن يحتوي اسم المتغير على أحرف وأرقام لاتينية ، وجميع أحرف الشرطة السفلية نفسها. على سبيل المثال:

اسم $ = "سيرجي" ؛ $ _blog1 = "الموقع على!"؛
echo $ name، "- blog author"، $ _blog1؛ ؟>

نتيجة:

أسماء المتغيرات حساسة لحالة الأحرف! وهذا يعني ، $ Name ، $ naMe ، $ name ثلاثة متغيرات مختلفة تمامًا. إذا أردنا وضع شيء جديد في متغير موجود بالفعل ، فسيتم مسح القيمة القديمة لهذا المتغير تلقائيًا:

اسم $ = "سيرجي" ؛ $ _blog1 = "الموقع على!"؛ اسم $ = "أندري" ؛ // اكتب القيمة الجديدة لمتغير الاسم
echo $ name، "- blog author"، $ _blog1؛ ؟>

نتيجة:

يمكننا بطبيعة الحال نقل قيمة متغير إلى آخر:

اسم $ = "سيرجي" ؛ $ _blog1 = "الموقع على!"؛ $ name = $ _blog1 ؛
echo $ name، "- blog author"، $ _blog1؛ ؟>

نتيجة:

في هذه الحالة ، تظل قيمة المتغير $ _blog1 فيه.

على عكس السلاسل ، عند إدخال الأرقام في متغير ، لا تحتاج إلى علامات الاقتباس:

اسم $ = 45 ؛

كما هو الحال مع ضبط متغير على متغير:

$ name = $ _blog1 ؛

بعد نهاية الكود على الصفحة ، كل شيء متغيرات PHPيتم حذفها تلقائيًا. ولكن هناك حالات نادرة نحتاج فيها إلى حذف متغير بقوة قبل انتهاء الكود. يتم ذلك باستخدام الوظيفة غير محدد:

اسم $ = "سيرجي" ؛ $ _blog1 = "الموقع على!"؛ $ name = $ _ blog1 ؛ unset (اسم $) ؛ // إزالة اسم المتغير
echo $ name، "- blog author"، $ _blog1؛ ؟>

نتيجة:

التعامل مع الأخطاء في PHP

لذلك انتقلنا بسلاسة إلى موضوع الأخطاء في PHP. كما ترى ، فإننا نشير إلى المتغير اسم $، التي تمت إزالتها بلا رحمة من قبل - أدى ذلك إلى الإشعار. يجب اعتبار الإشعار خطأ حقيقيًا ، على الرغم من أنه في معظم الحالات غير ضار تمامًا.

تحاول PHP أن تخبرنا بمكان ونوع الخطأ الذي ارتكبناه. يكتب في حالتنا:

متغير غير محدد: الاسم

والذي يترجم إلى "متغير غير محدد: الاسم" ثم يظهر لنا الملف والسطر الذي حدثت عليه كل هذه الحادثة:

في Z: \ home \ localhost \ www \ blog2 \ second-page.php على السطر 10

هذا هو ، في الملف الصفحة الثانية. phpتشغيل السطر 10... في هذه الحالة ، توقعت PHP ذلك ، ولكن غالبًا ما يحدث أن يكون الخطأ أعلى بسطر واحد أو عدة سطور ، على سبيل المثال ، عندما ننسى وضع فاصلة منقوطة في نهاية التعليمة التالية:

اسم $ = "سيرجي" ؛ $ _blog1 = "الموقع على!" // عفوًا ، نسيت :(
echo $ name، "- blog author"، $ _blog1؛ ؟>

نتيجة:

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

تخبرنا PHP أن الخطأ موجود في السطر الثامن (في السطر 8) ، لكنني في الحقيقة نسيت وضع فاصلة منقوطة سطرين أعلى:

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

الشيء التالي الذي يجب أن تتذكره بنفسك: تحتاج إلى إصلاح (إصلاح) الأخطاء من أعلى إلى أسفل! نظرًا لأن خطأ واحدًا يمكن أن يؤدي غالبًا إلى العشرات من الأخطاء الأخرى ، لذلك ، بعد تصحيح الخطأ الأول ، هناك احتمال كبير إلى حد ما أن يختفي الباقي تلقائيًا.

هناك نوعان آخران من الأخطاء التي يجب أن يكون كل مطور PHP على علم بها - وهما خطأ فادحو تحذيروالتي يجب إصلاحها أيضًا! ومع ذلك ، لا يؤدي كلا هذين الخطأين إلى إنهاء نصوص PHP النصية الأخرى على الصفحة ، بخلاف خطأ التحليل.

يجعل PHP من السهل جدًا تنظيم عرض النص على الشاشة. لنأخذ مثالاً على نص برمجي:

صدى "أهلاً بالعالم!" ؛

بالمعنى الدقيق للكلمة ، ليس من الضروري على الإطلاق كتابة علامة PHP الافتتاحية مثل هذا: "

يمكن وضع هذا البرنامج النصي في أي مكان في مستند HTML ، وهو بحد ذاته غير مفيد ، حيث يعرض فقط عبارة "Hello world!". ولكن بهذه الطريقة نتعرف على أحد أوامر PHP الأكثر شيوعًا - عرض المعلومات على شاشة المستخدم. من أجل إعطاء وظائف مفيدة للبرنامج النصي ، دعنا نتعرف على المتغيرات.

يتميز المتغير بالاسم والنوع والقيمة. يمكن أن يكون الاسم أي شيء ويتضمن أرقامًا وأحرفًا من الأبجدية الإنجليزية والأحرف المسموح بها (على سبيل المثال ، الشرطة السفلية أو الشرطة). حسب النوع ، يتم تقسيم المتغيرات إلى أعداد صحيحة ونقطة عائمة ورمزية. يمكن أن تكون القيمة وفقًا للنوع تقريبًا أي شيء. على سبيل المثال ، المتغير a = 5. يخبرنا هذا أن اسم المتغير هو a ، والنوع عدد صحيح ، والقيمة 5. إليك المزيد من الأمثلة على الأسماء والقيم:

$ file_type = “path / index.phtml” ؛

$ os = "PHP للجميع!"؛

كما ترى ، يجب أن تبدأ جميع المتغيرات في PHP (وليس فقط فيها) بحرف $ ، والذي يسمح للمترجم بتمييزها بدقة عن أوامر PHP. في السطر الأول من البرنامج النصي لدينا ، يتم تعيين القيمة 6 لمتغير اسم $ ، ويصبح هذا المتغير عددًا صحيحًا تلقائيًا.

بالمناسبة ، ليس مطلوبًا وصف نوع المتغير مقدمًا ، كما في Pascal أو Visual Basic ، ولكن على الرغم من أن التقسيم إلى أنواع هو شرطي بحت ، فإن كل متغير يميل تلقائيًا إلى استخدام النوع الصحيح ، وفقًا للقيمة.

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

يحدد السطر الثاني من التعليمات البرمجية متغير $ h12 إلى 4.89 ، وهي قيمة النقطة العائمة. يقوم السطران الثالث والرابع من التعليمات البرمجية بتعيين قيم لمتغيراتهما ، وهي سلاسل أحرف. سيتم تفسير أي شيء محاط بعلامات اقتباس (بما في ذلك الأرقام) على أنه سلسلة أحرف. إذا لم يتم تحديد المتغيرات مسبقًا ، ولكن تم استخدامها ، فمن المفترض أن تكون القيمة صفرًا أو سلسلة فارغة ، اعتمادًا على النوع.

ومع ذلك ، يكون هذا صحيحًا فقط إذا لم يتم تعيين مستوى معالجة الأخطاء على الحد الأقصى من التحكم. إذا كانت هذه هي الحالة ، فإن الوصول إلى متغير غير موجود سيؤدي إلى ظهور رسالة خطأ ، وسيستمر البرنامج في العمل كما لو لم يحدث شيء. لمنع رسالة الخطأ هذه ، يمكنك وصف جميع المتغيرات المستخدمة في البرنامج مسبقًا ، وتخصيص القيمة "صفر" أو "سلسلة فارغة" لها. الخيار الثاني لمنع الخطأ هو وضع رمز "@" (الكلب) أمام اسم المتغير. مثل هذا: @ $ name؛ if (@ $ name) إلخ. يعمل هذا الرمز الجيد كقمع لرسالة الخطأ. كيف. أو قم بتخصيص ملف تكوين php.ini كما هو موضح أعلاه.

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

نتيجة عمل البرنامج النصي هو عرض الرقم 4. يتم دعم جميع العمليات والوظائف الحسابية ، والأقواس متعددة المستويات ، والعمليات المنطقية ، وعمليات الزيادة أو النقصان بمقدار واحد ، وأكثر من ذلك بكثير.

بالإضافة إلى ذلك ، يتم تنظيم المقارنة بكل بساطة وبشكل طبيعي: إذا - إذن - بخلاف ذلك. للقيام بذلك ، تستخدم PHP البنية التالية:

لو غير هذا ()

هناك العديد من الصيغ لهذا المشغل ، ولكن هذا هو أبسط وأكثر منطقية على الإطلاق. هنا نصها مترجم إلى اللغة الروسية (أو بالأحرى ، إلى لغة حسابية):

(إذا) إذا (الشرط) (إذن) (ما هو بين علامات الاقتباس هنا تم تنفيذه) (خلاف ذلك) آخر (ما هو بين علامات الاقتباس هنا يتم تنفيذه)

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

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

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

ميزة واحدة مثيرة للاهتمام لمعالج الأخطاء مخفية هنا. إذا نسيت إغلاق علامة الاقتباس في بداية الرمز في مكان ما ، فسيعيد المترجم رقم السطر بخطأ إلى أكبر رقم موجود في الملف مع الرمز. لا جدوى من البحث عن عدم الدقة هناك - ابحث بشكل أفضل حيث تم إدخال العامل الشرطي آخر مرة. هذه علامة على عدم إغلاق علامة اقتباس إضافية أو توفيرها. يحدث أنه من الصعب جدًا العثور على مثل هذا الاقتباس المفقود في نص كبير ؛ لذلك ، اهتم بسهولة قراءة النص مسبقًا. سيوفر هذا أكثر من ساعة من التصحيح في المستقبل.

لنفكر في مثال بسيط:

If ($ a == $ b) (echo $ b- $ a؛) else (echo $ b. $ A؛)

تستخدم المقارنة الحقيقية علامتين متساويتين بحيث يمكن للمترجم بسهولة التمييز بين المقارنة والتعيين. أتت هذه الطريقة إلى PHP من لغات برمجة أخرى ، وهي معروفة إلى حد ما في دوائر المبرمجين ، بحيث لا يوجد شيء غير عادي هنا.

مرة أخرى ، هذا خطأ شائع جدًا ، فلن يعمل البرنامج بشكل صحيح إذا نسيت وضع علامة يساوي المزدوجة. وانتبه ، لن يفكر المترجم الفوري في تحذيرك من هذا! بالنسبة له ، هذه عملية مقبولة تمامًا للموازنة والتحقق في نفس الوقت من حالة الصواب والخطأ. هناك العديد من الميزات المخفية في PHP وسوف نتعرف عليها كلما تقدمنا. بالمناسبة ، يمكن استخدام هذه التقنية بنجاح لمصلحتك الخاصة ، أنصحك بتذكرها واستخدامها في الخدمة.

نتيجة البرنامج النصي أعلاه هي 95 ، لأن لا يساوي $ a $ b ، لكن الصدى هو $ b. $ a؛ (توجد نقطة بين المتغيرات ، وليست علامة عملية حسابية) تعرض المتغيرات المحددة في صف. وبالتالي ، يتم استخدام النقطة لسلسلة السلاسل أو المتغيرات.

يتم الإشارة إلى عدم المساواة (خطأ) بالرموز! = ، يُسمح بجميع الرموز والعوامل الحسابية والمنطقية الأخرى (على سبيل المثال - أو ، و ،<= и т.д.).

PHP لديها وسيلة لتغيير متغير سريعًا بواحد ، لأعلى أو لأسفل. للقيام بذلك ، تحتاج إلى تحديد اسم المتغير ، متبوعًا بإثنين من الإيجابيات أو السالب في صف بدون علامة يساوي ، على التوالي. على سبيل المثال: $ a ++؛ - المتغير $ a سيزداد بواحد.

يتم دعم التخصيص المتزامن لقيمة واحدة لعدة متغيرات: $ a = $ b = 4؛ كلا المتغيرين سيساويان أربعة. فيما يلي بعض الأمثلة على العمليات الحسابية غير القياسية في PHP:

$ ب = $ a = 5 ؛ / * تعيين قيم للمتغيرين $ a و $ b * /

$ c = $ a ++ ؛ / * الزيادة اللاحقة ، قم بتعيين القيمة الأولية إلى $ c $ a (5) * /

$ e = $ d = ++ $ b ؛ / * الزيادة المسبقة ، قم بتعيين $ d و $ e القيمة المتزايدة لـ $ b (6) * / / * هنا كلا $ d و $ e هما 6 * /

$ f = ضعف ($ d ++) ؛ / * قم بتعيين ضعف قيمة $ d قبل زيادتها ، أي 2 * 6 = 12 ، للمتغير $ f * /

$ g = مزدوج (++ $ e) ؛ / * قم بتعيين ضعف قيمة $ e بعد زيادتها ، أي 2 * 7 = 14 ، إلى المتغير g * /

$ h = $ g + = 10 ؛ / * قم أولاً بزيادة قيمة $ g بمقدار 10 ، مما ينتج عنه 24 ، ثم قم بتعيين هذه القيمة إلى المتغير $ h ، والذي يعطي أيضًا 24 * /

مثال بسيط

يمكنك فقط كتابة هذا المثال ولصقه على صفحتك ، وسوف يعمل بالتأكيد. أنا أضمن البساطة والتوافر. ما هو صعب جدا هنا! المهمة: عرض الأرقام 1،2،3،4،5 مفصولة بمسافة. كود الحل:

أنا دولار = 1 ؛ // عيّن $ i على 1

صدى $ i؛ // عرض المتغير

أنا ++ دولار ؛ // زيادة المتغير بمقدار 1

صدى "". $ I؛ // اعرض المتغير مرة أخرى دون نسيان المسافة

// كرر كل شيء مرارًا وتكرارًا حسب الضرورة

أوافق ، المثال ليس الأفضل ، لكن يمكنك فهم المفاهيم الأساسية للغة. إذن - علامة PHP الافتتاحية -... يجب أن تبدأ جميع المتغيرات بعلامة الدولار ويجب أن تبدأ التعليقات بـ //.

جميع المتغيرات لها اسم وقيمة. في المثال ، اسم المتغير هو $ I ، والقيمة هي 1. على أي حال ، يجب فصل عبارات اللغة بفواصل منقوطة. يعد عدم وجود هذا الفاصل هو الخطأ الأكثر شيوعًا للمبتدئين ، وبالتالي درب نفسك دائمًا على الانتباه إلى ما إذا كان هناك فاصل في نهاية العبارات. يتم ببساطة تجاهل المسافات الإضافية والأسطر الجديدة ، بما يتناسب مع لغة البرمجة الجيدة.

الإخراج إلى الشاشة يتم تنفيذه بواسطة عامل "echo". لا يلزم وضع المتغيرات بين علامتي اقتباس ، فالنص مطلوب. يتم تنفيذ أي دمج للنص (المتغيرات الرقمية في هذه الحالة كنص) باستخدام فاصل - نقطة.

يتم تنفيذ زيادة المتغير بمقدار واحد من خلال الإشارة إلى علامتين إيجابيتين بعد المتغير ، على الرغم من أنه لا شيء يمنعك من الكتابة على هذا النحو - $ i = $ i + 1؛ لكنها ستكون صحيحة كما في المثال - $ i ++؛ بعد تنفيذ هذه التعليمات خمس مرات ، على التوالي ، نزيد المتغير بمقدار خمسة ، ونعرض النتيجة بين المرات ، ولا ننسى المساحة. نتيجة لعمل البرنامج النصي ، سيتم عرض الأرقام "1 2 3 4 5" في صف واحد (في سطر) على الشاشة. إذا كانت المهمة تتمثل في عرض الأرقام المشار إليها ليس في سطر ، ولكن في عمود - بدلاً من المسافات بين علامات الاقتباس ، سيكون من الضروري وضع علامة HTML
سطر تغذية. مثل هذا - صدى "
". $ i ؛. نتيجة لذلك ، سيظهر عمود مكون من خمسة أرقام على الشاشة.

هذا تعبير خوارزمي للنص المطبق أعلاه. كما ترى ، لا يوجد شيء معقد. نحن فقط نأخذها ونفعل ما نحتاجه. بالمناسبة ، ألق نظرة على كود HTML الناتج! ليس أثر PHP! أليس حلم الكثيرين أن يتمكنوا من إخفاء كود HTML الخاص بهم؟

لكن كل هذه ليست المزايا الرئيسية للغة PHP. لكن ليس بالأمر الهين أيضًا. لقد فهمت الآن ، كما آمل ، أنه يمكن لصق رمز الصفحة حرفيًا أثناء التنقل ، وستكون كل صفحة جديدة مختلفة تمامًا (إذا كان هذا ضروريًا فقط) عن الصفحة السابقة. لهذه الأغراض تم إنشاء PHP في الأصل ، لكن اللغة اليوم تحولت إلى شيء أكثر من ذلك.


نسخة مطبوعة >>
قراءة المادة:بمجرد.