شرح دوال السلاسل النصية في PHP مع أمثلة
⚡ ملخص ذكي
تُعدّ السلاسل النصية في لغة PHP مجموعات مُرتبة من الأحرف، وهي أحد أنواع البيانات الأساسية في اللغة. يُوضح هذا الدليل أربع طرق لإنشاء السلاسل النصية: علامات الاقتباس المفردة، وعلامات الاقتباس المزدوجة، وheredoc، وnowdoc، ثم يُقدّم شرحًا لأكثر دوال السلاسل النصية المُدمجة فائدةً مع أمثلة توضيحية.

ما هي السلسلة في PHP؟
السلسلة عبارة عن مجموعة من الأحرف. السلسلة هي أحد أنواع البيانات التي تدعمها لغة PHP.
يمكن أن تحتوي متغيرات السلاسل النصية على أحرف وأرقام. يتم إنشاء السلاسل النصية عندما:
- تقوم بتعريف متغير وتعيين أحرف سلسلة له
- يمكنك استخدام سلاسل PHP مباشرةً مع عبارة echo.
- دوال السلاسل النصية في لغة PHP هي بنيات لغوية تساعدك على التعامل مع النصوص.
- إن تعلم كيفية عمل السلاسل في PHP وكيفية التعامل معها سيجعلك مطورًا فعالاً ومنتجًا للغاية.
PHP إنشاء سلاسل باستخدام علامات الاقتباس المفردة مع المثال
دعونا الآن نلقي نظرة على الطرق الأربع المختلفة لإنشاء ومعالجة السلاسل النصية في لغة PHP.
إنشاء سلاسل PHP باستخدام علامات اقتباس مفردة: أبسط طريقة لإنشاء سلسلة هي استخدام علامات اقتباس مفردة.
دعونا نلقي نظرة على مثال يقوم بإنشاء سلسلة نصية بسيطة في لغة PHP.
<?php
var_dump('You need to be logged in to view this page');
?>
الإخراج:
string(42) "You need to be logged in to view this page"
إذا كان الاقتباس المفرد جزءًا من قيمة السلسلة، فيمكن تجاوزه باستخدام الشرطة المائلة العكسية.
يوضح الكود أدناه كيفية الهروب من اقتباس واحد.
<?php echo 'I \'ll be back after 20 minutes'; ?>
الإخراج:
I'll be back after 20 minutes
PHP إنشاء سلاسل باستخدام Double اقتباسات مع مثال
Double تُستخدم علامات الاقتباس لإنشاء سلاسل نصية معقدة نسبيًا مقارنةً بعلامات الاقتباس المفردة.
يمكن استخدام أسماء المتغيرات داخل علامتي اقتباس مزدوجتين وسيتم عرض قيمها.
دعونا ننظر على سبيل المثال.
<?php $name = 'Alicia'; echo "$name is friends with kalinda"; ?>
هنا،
- ينشئ المثال أعلاه سلسلة بسيطة بقيمة Alicia.
- ثم يتم استخدام اسم المتغير في السلسلة التي تم إنشاؤها باستخدام علامات الاقتباس المزدوجة، ويتم استكمال قيمته في وقت التشغيل.
الإخراج:
Alicia is friends with kalinda
بالإضافة إلى الاستيفاء المتغير، يمكن لسلسلة علامات الاقتباس المزدوجة أيضًا الهروب من المزيد من الأحرف الخاصة مثل "\n لسطر جديد، \$ لعلامة الدولار" وما إلى ذلك.
أمثلة أخرى. لنفترض أن لدينا الكود التالي.
<?php $pwd = "pas$word"; echo $pwd; ?>
الإخراج:
NOTICE : Undefined variable pas
يؤدي تنفيذ الكود أعلاه إلى ظهور إشعار "ملاحظة: متغير غير معرف".
وذلك لأنه يتم التعامل مع $word على أنه ملف متغير.
إذا أردنا أن يتم التعامل مع علامة الدولار كقيمة حرفية، علينا الهروب منها.
<?php $word = "word"; $pwd = "pas\$word"; echo $pwd; ?>
الإخراج:
pas$word
PHP Heredoc مع مثال
تُستخدم منهجية heredoc لإنشاء سلاسل معقدة إلى حد ما مقارنة بعلامات الاقتباس المزدوجة.
يدعم Heredoc جميع ميزات علامات الاقتباس المزدوجة ويسمح بإنشاء قيم نصية بأكثر من سطر واحد دون الحاجة إلى دمج السلاسل النصية في PHP.
يؤدي استخدام علامات الاقتباس المزدوجة لإنشاء سلاسل تحتوي على أسطر متعددة إلى إنشاء خطأ.
يمكنك أيضًا استخدام علامات الاقتباس المزدوجة في الداخل بدون علامة escaping لهم.
يوضح المثال أدناه كيفية استخدام طريقة heredoc لإنشاء قيم نصية.
<?php $baby_name = "Shalon"; echo <<<EOT When $baby_name was a baby, She used to look like a "boy". EOT; ?>
هنا،
<< هو محدد السلسلة.
EOT هو اختصار لنهاية النص.
يجب تعريفها على سطر منفصل في بداية السلسلة وفي نهايتها.
ملاحظة: يمكنك استخدام أي شيء تريده بدلاً من EOT.
الإخراج:
When Shalon was a baby, She used to look like a "boy".
PHP Nowdoc مع مثال
طريقة إنشاء سلسلة nowdoc تشبه طريقة heredoc ولكنها تعمل بنفس طريقة عمل علامات الاقتباس المفردة.
لا يتم إجراء أي تحليل داخل المستند الجديد.
يُعد Nowdoc مثاليًا عند العمل مع البيانات الأولية التي لا تحتاج إلى تحليل.
يوضح الكود أدناه تطبيق nowdoc.
<?php $baby_name = "Shalon"; $my_variable = <<<'EOT' When $baby_name was a baby, She used to look like a "boy". EOT; echo $my_variable; ?>
الإخراج:
When $baby_name was a baby, She used to look like a "boy".
أمثلة على وظائف سلسلة PHP
تُستخدم وظائف السلسلة في PHP لمعالجة قيم السلسلة.
سنلقي الآن نظرة على بعض دوال السلاسل النصية الشائعة الاستخدام في لغة PHP.
| الوظيفة | الوصف | مثال | الناتج |
|---|---|---|---|
| com.strtolower | يستخدم لتحويل كافة أحرف السلسلة إلى أحرف صغيرة | echo strtolower('Benjamin'); | مخرجات بنيامين |
| com.strtoupper | يستخدم لتحويل كافة أحرف السلسلة إلى أحرف كبيرة | صدى strtoupper('جورج دبليو بوش'); | مخرجات جورج دبليو بوش |
| strlen | تُستخدم دالة طول السلسلة لحساب عدد الأحرف في السلسلة. كما يتم حساب المسافات بين الأحرف. | صدى strlen("الولايات المتحدة الأمريكية"); | 24 |
| تفجر | يستخدم لتحويل السلاسل إلى متغير صفيف | $settings =تفجير(';', "host=localhost; db=sales; uid=root; pwd=demo"); print_r($settings); | صفيف ( [0] => host=localhost [1] => db=sales [2] => uid=root [3] => pwd=demo ) |
| SUBSTR | تُستخدم هذه الدالة لإرجاع جزء من السلسلة النصية. وهي تقبل ثلاثة معايير أساسية: السلسلة المراد اختصارها، وموضع البداية، وعدد الأحرف المراد إرجاعها. | $my_var = 'هذه جملة طويلة جدًا وأريد اختصارها';echo substr($my_var,0, 12).'...'; | هذه إعادة… |
| str_replace | تُستخدم لتحديد موقع واستبدال قيم نصية محددة في سلسلة نصية معينة. وظيفة يقبل ثلاثة وسائط: النص المراد استبداله، والنص البديل، والنص الذي يتم تحليله. | echo str_replace ("the"، "هذا"، "الكمبيوتر المحمول باهظ الثمن")؛ | هذا الكمبيوتر المحمول مكلف للغاية |
| ستربس | تُستخدم هذه الدالة لتحديد موقع حرف أو أحرف داخل سلسلة نصية وإرجاعه. تقبل هذه الدالة وسيطين. | echo strpos('PHP Programming','Pro'); | 4 |
| sha1 | يُستخدم لحساب تجزئة SHA-1 لقيمة سلسلة | صدى sha1('كلمة المرور'); | 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 |
| md5 | تُستخدم لحساب قيمة التجزئة MD5 لسلسلة نصية | صدى md5('كلمة المرور'); | 5f4dcc3b5aa765d61d8327deb882cf99 |
| str_word_count | يستخدم لحساب عدد الكلمات في السلسلة. | echo str_word_count('هذه جملة طويلة جدًا أرغب في اختصارها'); | 12 |
| com.ucfirst | اجعل الحرف الأول من قيمة السلسلة كبيرًا | صدى ucfirst('الاحترام'); | احترام المخرجات |
| lcfirst | اجعل الحرف الأول من قيمة السلسلة صغيرًا | صدى lcfirst('RESPECT'); | احترام النواتج |


