السلام عليكم و رحمة الله و بركاته،
تتم معالجة السلاسل المدرجة داخل علامات اقتباس مفردة (”) و تلك المدرجة داخل علامات اقتباس مزدوجة (“”) على نحو مختلف، فالأولى يتم تخزينها كما هي، باستثناء علامة (‘\)، التي يتم تخزينها كفاصلة عليا، أما الثانية، فيتم تقييم المتغيرات و بعض الرموز الخاصة الواردة بها قبل تخزينها.
فيما يلي أكثر أوجه الاختلاف أهمية بين استخدام علامات الاقتباس المفردة و علامات اقتباس المزدوجة :
إذا أحطت متغير بعلامة اقتباس مزدوجة، فإن لغة PHP تستخدمقيمة هذا المتغير، لكن إذا أحطته بعلامة اقتباس مفردة، فإن لغة PHP تستخدم اسم المتغير، على سبيل المثال إذا استخدمت الجمل التالية :
1
2
3
4
5
6 | - الكود:
-
$age - الكود:
-
= 12; - الكود:
-
$result1 - الكود:
-
= - الكود:
-
"$age" - الكود:
-
; - الكود:
-
$result2 - الكود:
-
= - الكود:
-
'$age' - الكود:
-
; - الكود:
-
echo - الكود:
-
$result1 - الكود:
-
; - الكود:
-
<br/> - الكود:
-
echo - الكود:
-
$result2 - الكود:
-
; |
فستعرض النتيجة التالية :
12
$age
تطلب الرموز الخاصة (n\) من لغة PHP بدء سطر جديد. عند استخدامك علامات اقتباس مزدوجة، تبدأ لغة PHP سطرا جديدا عن موضع n\، لكن عند استخدام علامات اقتباس مفردة، فإنه تتم ترجمة n\ على أنه سلسلة رموز، على سبيل المثال عند استخدام الجمل التالية :
1
2 | - الكود:
-
$string1 - الكود:
-
= - الكود:
-
"String in \ndouble quotes" - الكود:
-
; - الكود:
-
$string2 - الكود:
-
= - الكود:
-
'String in \nsingle quotes' - الكود:
-
; |
تعرض string1 كما يلي :
String in
double quotes
و تعرض string2 كما يلي :
String in \nsingle quotes
تطلب الرموز الخاصة (t\) من لغة PHP إدراج علامة جدولة باستخدام المفتاح Tab. عند استخدام علامات الاقتباس المزدوجة تقوم لغة PHP بإدراج علامة جدولة باستخدام مفتاح Tab عند موضع t\، لكن عند استخدام علامات اقتباس مفردة، تتم ترجمة t\ على أنه سلسلة رموز، المثال التالي يوضح الفكرة :
1
2 | - الكود:
-
$string1 - الكود:
-
= - الكود:
-
"String in \tdouble quotes" - الكود:
-
; - الكود:
-
$string2 - الكود:
-
= - الكود:
-
'String in \tsingle quotes' - الكود:
-
; |
تعرض string1 النتيجة التالية :
string in double quotes
و تعرض string2 النتيجة التالية :
String in \tsingle quotes
إن علامات الاقتباس التي تحيط بالسلسلة بأكملها تحدد طريقة معالجة المتغيرات و الرموز الخاصة، حتى و إن كانت هناك علامة اقتباس أخرى داخل السلسلة، انظر على سبيل المثال الجمل التالية :
1
2
3
4
5
6 | - الكود:
-
$number - الكود:
-
= 10; - الكود:
-
$string1 - الكود:
-
= - الكود:
-
"There are '$number' people in line." - الكود:
-
; - الكود:
-
$string2 - الكود:
-
= - الكود:
-
'There are "$number" people in line.' - الكود:
-
; - الكود:
-
echo - الكود:
-
$string1 - الكود:
-
; - الكود:
-
<br/> - الكود:
-
echo - الكود:
-
$string2 - الكود:
-
; |
تأتي النتيجة على النحو التالي :
There are ’10′ people in line.
There are “$number” people in line.
أتمنى أن يكون الدرس مفهوم بالقدر الكافي، و لأي استفسارات أنا في الخدمة، بالتوفيق للجميع.