شرح دوال السلاسل النصية في PHP مع أمثلة

⚡ ملخص ذكي

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

  • 🔤 ما هي الأوتار؟ السلسلة النصية هي عبارة عن تسلسل من الأحرف ونوع بيانات أساسي في لغة PHP يستخدم لتخزين النصوص مثل الأسماء والرسائل و HTML.
  • ' علامات اقتباس مفردة: السلاسل النصية ذات علامات الاقتباس المفردة هي حرفية؛ لا يتم توسيع المتغيرات، ويتم تفسير علامة الاقتباس والشرطة المائلة فقط.
  • " Double الرموز: Doubleتعمل السلاسل النصية المقتبسة على توسيع المتغيرات وتفسير رموز الهروب مثل \n، مما يجعلها مثالية للنصوص الديناميكية.
  • 📄 هيريدوك: يقوم Heredoc بإنشاء سلاسل نصية متعددة الأسطر مع توسيع المتغيرات، بدون استخدام escaping علامات الاقتباس المزدوجة الموجودة بداخلها.
  • 🔒 ناودوك: يعمل Nowdoc مثل علامات الاقتباس المفردة للنصوص الخام متعددة الأسطر، ولا يقوم بأي تحليل أو توسيع للمتغيرات.
  • 🔧 دوال السلاسل النصية: تقوم وظائف مثل strlen و strpos و substr و str_replace و explode بفحص وتحويل قيم السلاسل النصية.
  • 🤖 مساعدة الذكاء الاصطناعي: يمكن لأدوات الذكاء الاصطناعي أن تقترح دالة السلسلة المناسبة لمهمة ما، وأن تولد أدوات مساعدة للتنظيف أو التنسيق.

سلاسل PHP

ما هي السلسلة في 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";
?>

PHP إنشاء سلاسل باستخدام Double يقتبس

هنا،

  • ينشئ المثال أعلاه سلسلة بسيطة بقيمة 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.

PHP هيريدوك

الإخراج:

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'); احترام النواتج

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

استخدم عامل النقطة لربط السلاسل النصية، على سبيل المثال $full = $first . ' ' . $last;. يمكنك أيضًا إضافة نص إلى سلسلة نصية موجودة باستخدام عامل .=، الذي يضيف نصًا إلى نهاية المتغير.

في PHP 8، استخدم الدالة str_contains($haystack, $needle) التي تُرجع القيمة true أو false. أما في الإصدارات الأقدم، فاستخدم الدالة strpos() وتحقق من أن النتيجة ليست false، لأن التطابق في الموضع 0 يُعتبر false.

تُعتبر سلاسل PHP قابلة للتغيير ويمكن الوصول إليها باستخدام الفهرسة مثل المصفوفات. يمكنك قراءة حرف باستخدام `$str[0]`، بل وتغييره باستخدام `$str[0] = 'H'`. يبدأ الفهرس من الصفر، لذا فإن الحرف الأول يكون في الموضع 0.

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

نعم. صف الهدف، مثل البحث عن نص أو استبداله أو تقسيمه، ويمكن للذكاء الاصطناعي أن يرشدك إلى وظائف مثل strpos و str_replace و substr و explode، وأن يعرض مثالاً قصيراً لكل منها.

تلخيص هذه التدوينة بـ: