문자열은 따옴표로 감싼 문자들의 나열이에요. 작은따옴표와 큰따옴표를 모두 사용할 수 있어요.
<?php
$where = "Spain";
$what = 'rain';
큰따옴표로 감싼 문자열 안에서는, 스코프 안에 있는 변수를 참조하면 그 값이 문자열에 삽입돼요.
<?php
$answer = 42;
$expanded = "The answer to life, the universe, and everything is $answer";
예전에는 PHP의 문자열 함수가 ASCII 문자만 지원했고 최신 유니코드 인코딩은 지원하지 않았어요. ASCII 문자는 각각 1바이트인 반면, 유니코드 문자는 길이가 1~4바이트일 수 있어요. 유니코드 문자열을 안전하게 다뤄야 한다면, 기존 함수의 멀티바이트 버전을 참고해요.
<?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개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.