مسیرها
/
PHP
PHP
/
تمرین‌ها
/
عشق‌های دبیرستانی
عشق‌های دبیرستانی

عشق‌های دبیرستانی

تمرین یادگیری

مقدمه

رشته

«رشته» دنباله‌ای از کاراکترها است که داخل کوتیشن‌ها قرار می‌گیرد. هم کوتیشن تکی و هم کوتیشن دوگانه پشتیبانی می‌شوند.

<?php

$where = "Spain";
$what = 'rain';

درج متغیر در رشته

در رشته‌های داخل کوتیشن دوگانه، اگر متغیری در محدوده باشد و به آن ارجاع داده شود، مقدارش داخل رشته درج می‌شود.

<?php

$answer = 42;
$expanded = "The answer to life, the universe, and everything is $answer"; 

پشتیبانی از کدگذاری کاراکتر

از نظر تاریخی، توابع رشته در PHP فقط از کاراکترهای ASCII پشتیبانی می‌کردند و از کدگذاری‌های مدرن یونیکد پشتیبانی نمی‌کردند. هر کاراکتر ASCII یک بایت است، در حالی که طول کاراکترهای یونیکد می‌تواند ۱ تا ۴ بایت باشد. اگر می‌خواهید رشته‌های یونیکد را به‌شکل ایمن دست‌کاری کنید، به نسخه‌های چندبایتی توابع قدیمی مراجعه کنید.

<?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 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.