Anonim

علامات الاقتباس المفردة والاقتباسات المزدوجة مختلفة قليلاً في PHP. تابع القراءة لمعرفة الاختلافات في كيفية تقييمها.

ونقلت واحدة

تميل الاقتباسات الفردية إلى تحليل الأشياء بالمعنى الحرفي. على سبيل المثال ، خذ ما يلي:

$ test = "BOOOM" ؛ صدى "اختبار $"

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

$ اختبار

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

صدى "اقتباس واحد: \ ''؛ صدى "الخط المائل العكسي: \\ '؛

التنصيص

تميل اقتباسات مزدوجة إلى تحليل الأشياء بالنسبة لك. عند التشغيل بين علامات اقتباس مزدوجة:

$ test = "BOOOM" ؛ صدى "اختبار $"

يقوم بإخراج القيمة المتغيرة الفعلية:

BOOOM

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

$ test = "BOOOM" ؛ صدى "$ اختبار" ؛

ما رأيك يحصل الإخراج هنا؟ الجواب هو لا شيء. يبحث PHP عن متغير اسمه $ الذي تم اختباره ، ولأنه غير موجود ، فلن يتم إخراج أي شيء. الطريقة الصحيحة لإخراج القيمة متبوعة بـ "ed" هي:

$ test = "BOOOM" ؛ echo "{$ test} ed"؛

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

فرق السرعة

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

الفرق بين الاقتباس الفردي والاقتباس المزدوج في php