المسارات
/
PHP
PHP
/
التمارين
/
حبيبا المدرسة الثانوية
حبيبا المدرسة الثانوية

حبيبا المدرسة الثانوية

تمرين تعلّمي

مقدمة

السلاسل النصية

السلسلة النصية هي تتابع من المحارف تحيط بها علامات الاقتباس. يدعم 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.     **
 **                       **
   **                   **
     **               **
       **           **
         **       **
           **   **
             ***
              *

1. احصل على الحرف الأول من الاسم

نفّذ الدالة HighSchoolSweetheart::firstLetter. يجب أن تأخذ اسمًا وتُرجع حرفه الأول. ويجب أن تزيل أي مسافات بيضاء غير ضرورية من الاسم.

<?php

$sweetheart = new HighSchoolSweetheart();
$sweetheart->firstLetter("Jane");
# => "J"

2. نسّق الحرف الأول بصيغة حرف أول

نفّذ الدالة HighSchoolSweetheart::initial. يجب أن تأخذ اسمًا وتُرجع حرفه الأول بحرف كبير متبوعًا بنقطة. احرص على إعادة استخدام HighSchoolSweetheart::first_letter التي عرّفتها في الخطوة السابقة.

<?php

$sweetheart = new HighSchoolSweetheart();
$sweetheart->initial("jane");
# => "J."

3. قسّم الاسم الكامل إلى الاسم الأول واسم العائلة

نفّذ الدالة HighSchoolSweetheart::initials. يجب أن تأخذ اسمًا كاملًا يتكوّن من اسم أول واسم عائلة يفصل بينهما فراغ، وتُرجع الأحرف الأولى. احرص على إعادة استخدام HighSchoolSweetheart::initial التي عرّفتها في الخطوة السابقة.

<?php

$sweetheart = new HighSchoolSweetheart();
$sweetheart->initials("Jane Doe");
# => "J. D."

4. ضع الأحرف الأولى داخل القلب

نفّذ الدالة HighSchoolSweetheart::pair. يجب أن تأخذ اسمين كاملين وتُرجع الأحرف الأولى داخل قلب مرسوم باستخدام ASCII. احرص على إعادة استخدام HighSchoolSweetheart::initials التي عرّفتها في الخطوة السابقة.

<?php

$sweetheart = new HighSchoolSweetheart();
$sweetheart->pair("Blake Miller", "Riley Lewis")
# => """
#      ******       ******
#    **      **   **      **
#  **         ** **         **
# **            *            **
# **                         **
# **     B. M.  +  R. L.     **
#  **                       **
#    **                   **
#      **               **
#        **           **
#          **       **
#            **   **
#              ***
#               *
# """
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
PHP Exercism

مستعد لبدء حبيبا المدرسة الثانوية؟

سجّل في Exercism لتتعلّم وتتقن PHP عبر 11 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.