السلسلة النصية هي تتابع من المحارف تحيط بها علامات الاقتباس. يدعم PHP علامات الاقتباس المفردة والمزدوجة.
<?php
$where = "Spain";
$what = 'rain';
في السلاسل النصية المزدوجة الاقتباس، إذا أُشير إلى متغير وهو داخل النطاق، فإن قيمته تُدرج في السلسلة النصية.
<?php
$answer = 42;
$expanded = "The answer to life, the universe, and everything is $answer";
تاريخيًا، كانت دوال السلاسل النصية في PHP تدعم محارف ASCII فقط ولم تكن تدعم ترميزات Unicode الحديثة. كل محرف ASCII يشغل بايت واحد، بينما قد يتراوح طول محرف Unicode بين 1 و4 بايتات. إذا احتجت إلى التعامل مع السلاسل النصية بترميز Unicode بأمان، فراجع النسخ المتعددة البايتات من الدوال القديمة.
<?php
$byte_length = strlen('😃'); // => 4
$string_length = mb_strlen('😃'); // => 1
في هذا التمرين، ستساعد حبيبين في المدرسة الثانوية على التعبير عن حبهما على وسائل التواصل الاجتماعي عبر توليد قلب مرسوم باستخدام ASCII يحمل الأحرف الأولى من اسميهما:
****** ******
** ** ** **
** ** ** **
** * **
** **
** J. K. + M. B. **
** **
** **
** **
** **
** **
** **
***
*
نفّذ الدالة HighSchoolSweetheart::firstLetter.
يجب أن تأخذ اسمًا وتُرجع حرفه الأول.
ويجب أن تزيل أي مسافات بيضاء غير ضرورية من الاسم.
<?php
$sweetheart = new HighSchoolSweetheart();
$sweetheart->firstLetter("Jane");
# => "J"
نفّذ الدالة HighSchoolSweetheart::initial.
يجب أن تأخذ اسمًا وتُرجع حرفه الأول بحرف كبير متبوعًا بنقطة.
احرص على إعادة استخدام HighSchoolSweetheart::first_letter التي عرّفتها في الخطوة السابقة.
<?php
$sweetheart = new HighSchoolSweetheart();
$sweetheart->initial("jane");
# => "J."
نفّذ الدالة HighSchoolSweetheart::initials.
يجب أن تأخذ اسمًا كاملًا يتكوّن من اسم أول واسم عائلة يفصل بينهما فراغ، وتُرجع الأحرف الأولى.
احرص على إعادة استخدام HighSchoolSweetheart::initial التي عرّفتها في الخطوة السابقة.
<?php
$sweetheart = new HighSchoolSweetheart();
$sweetheart->initials("Jane Doe");
# => "J. D."
نفّذ الدالة HighSchoolSweetheart::pair.
يجب أن تأخذ اسمين كاملين وتُرجع الأحرف الأولى داخل قلب مرسوم باستخدام ASCII.
احرص على إعادة استخدام HighSchoolSweetheart::initials التي عرّفتها في الخطوة السابقة.
<?php
$sweetheart = new HighSchoolSweetheart();
$sweetheart->pair("Blake Miller", "Riley Lewis")
# => """
# ****** ******
# ** ** ** **
# ** ** ** **
# ** * **
# ** **
# ** B. M. + R. L. **
# ** **
# ** **
# ** **
# ** **
# ** **
# ** **
# ***
# *
# """
سجّل في Exercism لتتعلّم وتتقن PHP عبر 11 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.