HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Иногда на собеседованиях задают такую задачку:</p>
1 <p>Иногда на собеседованиях задают такую задачку:</p>
2 <blockquote><p><em>Возьмите строку текста и сделайте заглавной первую букву каждого слова. В ответ на все хитрые вопросы в духе "А есть ли в строке знаки препинания?" выбирайте самый простой случай для обработки.</em></p>
2 <blockquote><p><em>Возьмите строку текста и сделайте заглавной первую букву каждого слова. В ответ на все хитрые вопросы в духе "А есть ли в строке знаки препинания?" выбирайте самый простой случай для обработки.</em></p>
3 </blockquote><p>Решить эту задачу можно множеством способов - чем больше назовете, тем лучше. Есть как минимум три варианта:</p>
3 </blockquote><p>Решить эту задачу можно множеством способов - чем больше назовете, тем лучше. Есть как минимум три варианта:</p>
4 <ol><li>Посимвольный перебор строки. Есть два способа перебора, в том числе конечные автоматы, которые мы рассмотрим в отдельном курсе</li>
4 <ol><li>Посимвольный перебор строки. Есть два способа перебора, в том числе конечные автоматы, которые мы рассмотрим в отдельном курсе</li>
5 <li>Регулярные выражения, о них тоже есть отдельный курс</li>
5 <li>Регулярные выражения, о них тоже есть отдельный курс</li>
6 <li>Преобразование строки в массив слов</li>
6 <li>Преобразование строки в массив слов</li>
7 </ol><p>Рассмотрим последний способ. Первым делом нужно превратить строку в массив. Для этого мы воспользуемся функцией explode(), которая разделяет строку, используя указанный разделитель. В нашем случае разделитель - это пробел:</p>
7 </ol><p>Рассмотрим последний способ. Первым делом нужно превратить строку в массив. Для этого мы воспользуемся функцией explode(), которая разделяет строку, используя указанный разделитель. В нашем случае разделитель - это пробел:</p>
8 <p>Теперь можно использовать цикл и выполнить операцию<em>capitalize</em>, то есть привести первую букву каждого слова к верхнему регистру:</p>
8 <p>Теперь можно использовать цикл и выполнить операцию<em>capitalize</em>, то есть привести первую букву каждого слова к верхнему регистру:</p>
9 <p>Последнее действие обратно первому - нужно соединить слова и вернуть получившуюся строку наружу. Чтобы соединить элементы массива, воспользуемся функцией implode(). Как и explode(), она принимает на вход разделитель, который теперь используется для сборки строки:</p>
9 <p>Последнее действие обратно первому - нужно соединить слова и вернуть получившуюся строку наружу. Чтобы соединить элементы массива, воспользуемся функцией implode(). Как и explode(), она принимает на вход разделитель, который теперь используется для сборки строки:</p>
10 <p>Если строку нужно разбить по символам, а не по словам, можно воспользоваться функцией<a>mb_str_split()</a>:</p>
10 <p>Если строку нужно разбить по символам, а не по словам, можно воспользоваться функцией<a>mb_str_split()</a>:</p>
11 <p>Функция mb_str_split() принимает второй параметр, в котором можно указать количество символов в каждой группе (в каждом элементе получившегося массива). Значение по умолчанию равно единице, поэтому мы получаем массив, в котором каждый элемент - это один символ. Например, если мы захотим указать число 3, то в каждом элементе массива будет по три символа:</p>
11 <p>Функция mb_str_split() принимает второй параметр, в котором можно указать количество символов в каждой группе (в каждом элементе получившегося массива). Значение по умолчанию равно единице, поэтому мы получаем массив, в котором каждый элемент - это один символ. Например, если мы захотим указать число 3, то в каждом элементе массива будет по три символа:</p>
12  
12