Треки
/
PHP
PHP
/
Вправи
/
Шкільне кохання
Шкільне кохання

Шкільне кохання

Навчальна вправа

Вступ

Рядки тексту (англ. string)

Рядок тексту складається із символів, узятих у лапки. Підтримуються як одинарні, так і подвійні лапки.

<?php

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

Розширення змінних у рядку тексту

Якщо в рядку тексту в подвійних лапках згадується змінна, яка перебуває в області видимості, її значення підставляється в цей рядок.

<?php

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

Підтримка кодування символів

Історично функції для роботи з рядками тексту в PHP підтримували лише символи ASCII і не підтримували сучасні кодування Unicode. Кожен символ ASCII займає 1 байт, тоді як символи 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 вправи та справжнє наставництво від людей, і все це безкоштовно.