Menu
flag Ar iconالعربيةdown icon

النصوص في PHP: علامات التنصيص والربط والاستيفاء

اربط نصوص PHP بعامل النقطة ("Hello, " . $name) أو ضع المتغيرات مباشرة داخل علامتي التنصيص المزدوجتين ("Hello, $name"). تطبع علامات التنصيص المفردة النص كما هو. تعلّم الربط و.= واستيفاء المصفوفات والكائنات وتغيير حالة الأحرف بـ strtoupper وstrtolower وucfirst وucwords.

تحتوي هذه الصفحة على محررات قابلة للتشغيل - حرّر، شغّل، وشاهد النتيجة فوراً.

النص في PHP كتابة بين علامتي تنصيص مفردتين أو مزدوجتين. اربط النصوص بعامل النقطة، $first . ' ' . $last، أو ضع المتغير مباشرة داخل علامتي التنصيص المزدوجتين: "Hello, $name".

تربط النقطة أي قيمتين في نص جديد. تُحوَّل الأعداد نيابةً عنك، لذا فإن "Total: " . 42 تساوي "Total: 42".

علامات التنصيص المفردة والمزدوجة

تفعل علامات التنصيص المزدوجة أمرين إضافيين: تستبدل المتغيرات بقيمها، وتحوّل تسلسلات الهروب مثل \n (سطر جديد) و\t (مسافة جدولة) إلى المحارف التي تمثلها. أما المفردة فتطبع النص كما كُتب بالضبط، باستثناء \' و\\.

استخدم المفردة للنص الثابت والمزدوجة عندما تريد متغيرًا أو \n داخل النص. فرق السرعة بينهما أصغر من أن يُقاس، فاختر ما يجعل السطر أسهل في القراءة.

ربط النصوص بـ . و.=

تضيف .= إلى نهاية متغير نصي. وهي الطريقة المعتادة لبناء نص داخل حلقة، مثل جزء من HTML. شغّل هذا المثال فيفتح المحرر تبويب Page، الذي يعرض القائمة.

تهم الأولوية عند خلط . مع العمليات الحسابية. منذ PHP 8، يرتبط + و- بقوة أكبر من .، لذا فإن "Sum: " . 2 + 3 تساوي "Sum: 5". والأقواس توضّح ذلك للقارئ التالي: "Sum: " . (2 + 3).

وضع المتغيرات والمصفوفات والكائنات داخل نص

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

تعمل الدوال التابعة داخل الأقواس، أما الدوال العادية فلا: يطبع السطر الأخير الأقواس واسم الدالة حول قيمة $fruit. استدعِ الدالة قبل النص، أو استخدم sprintf عندما يحتوي النص على قيم كثيرة.

تغيير حالة الأحرف: strtoupper وstrtolower وucfirst وucwords

تعمل هذه الدوال بايتًا بايتًا ولا تغيّر إلا الأحرف من a إلى z. وللنصوص ذات الحركات أو الأحرف السيريلية أو اليونانية، استخدم النسخ متعددة البايتات التي تفهم UTF-8:

قراءة محارف مفردة وتكرار النصوص

يمكن الوصول إلى النص بالفهرس كالمصفوفة. والإزاحات السالبة تُعد من النهاية. ولعدّ المحارف راجع strlen.

خطأ شائع: + بدلًا من .

في JavaScript يربط + النصوص. أما في PHP فالعامل + حسابي دائمًا: تُجمع النصوص الرقمية كأعداد، والنص غير الرقمي يطلق خطأً.

إذا رأيت عددًا حيث توقعت نصًا مربوطًا، أو رأيت Unsupported operand types: string + string، فابحث عن + يجب أن تكون ..

الأسئلة الشائعة

كيف تربط النصوص في PHP؟

استخدم عامل النقطة: $full = $first . ' ' . $last;. وللإضافة إلى نص موجود، استخدم .=: $html .= '<li>Item</li>';. العامل + مخصص للأعداد، و"Hello" + "World" يطلق TypeError في PHP 8.

ما الفرق بين علامات التنصيص المفردة والمزدوجة في PHP؟

تستبدل علامات التنصيص المزدوجة المتغيرات وتسلسلات الهروب: تطبع "Hi $name\n" قيمة $name وسطرًا جديدًا. أما المفردة فتطبع كل شيء تقريبًا كما هو: تطبع 'Hi $name\n' علامة الدولار والاسم وشرطة مائلة عكسية يليها n. داخل علامات التنصيص المفردة، لا يُعد تسلسل هروب إلا \' و\\.

كيف أضع قيمة من مصفوفة داخل نص في PHP؟

ضعها بين أقواس معقوصة: "Hello, {$user['name']}". وينطبق الأمر نفسه على خصائص الكائنات واستدعاءات الدوال التابعة: "{$user->getName()}". ودون أقواس، يعمل "$user[name]" (دون علامات تنصيص حول المفتاح) أيضًا مع المفتاح البسيط.

كيف أحوّل نصًا إلى أحرف كبيرة أو صغيرة في PHP؟

تعيد strtoupper('php') القيمة PHP، وتعيد strtolower('PHP') القيمة php، وتكبّر ucfirst('hello') الحرف الأول، وتكبّر ucwords('hello world') أول حرف من كل كلمة. وللنصوص ذات الحركات أو الأحرف غير اللاتينية، استخدم mb_strtoupper() وmb_strtolower().

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن