Примеры решения задач

Задача

Задача. Дана строка 'minsk'. Сделайте из нее строку 'MINSK'.

Решение: воспользуемся функцией strtoupper и сразу получим результат:

<?php
	echo strtoupper('minsk');
?>

Задача

Задача. Дана строка 'минск'. Сделайте из нее строку 'МИНСК'.

Решение: функцией strtoupper мы не можем воспользоваться, так как она некорректно работает с русскими буквами. Воспользуемся функцией mb_strtoupper и сразу получим результат:

<?php
	echo mb_strtoupper('минск');
?>

Задача

Задача. Дана строка 'MINSK'. Сделайте из нее строку 'Minsk'.

Решение: готовой функции для решения задачи в PHP не существует. Поэтому сначала воспользуемся функцией strtolower (в результате получится 'minsk'), а затем функцией ucfirst:

<?php
	echo ucfirst(strtolower('minsk'));
?>

Задача

Задача. В переменной $date лежит дата в формате '31-12-2030'. Преобразуйте эту дату в формат '2030.12.31'.

Решение: для начала разобьем строку '31-12-2030' в массив с помощью функции explode:

<?php
	//Разбиваем строку в массив по разделителю '-':
	$arr = explode('-', '31-12-2030');
?>

В полученном массиве в $arr[0] будет лежать 31 (то есть день), в $arr[1] - месяц, а в $arr[2] - год. Сольем элементы этого массива в новую строку:

<?php
	//Разбиваем строку в массив по разделителю '-':
	$arr = explode('-', '31-12-2030');

	//Получим дату в нужном формате:
	echo $arr[2].'.'.$arr[1].'.'.$arr[0];
?>

Задачи для решения

Работа с регистром символов

Для решения задач данного блока вам понадобятся следующие функции: strtolower, strtoupper, ucfirst, lcfirst, ucwords.

Дана строка 'php'. Сделайте из нее строку 'PHP'.

Дана строка 'PHP'. Сделайте из нее строку 'php'.

Дана строка 'london'. Сделайте из нее строку 'London'.

Дана строка 'London'. Сделайте из нее строку 'london'.

Дана строка 'london is the capital of great britain'. Сделайте из нее строку 'London Is The Capital Of Great Britain'.

Дана строка 'LONDON'. Сделайте из нее строку 'London'.

Работа с strlen

Для решения задач данного блока вам понадобятся следующие функции: strlen.

Дана строка 'html css php'. Найдите количество символов в этой строке.

Дана переменная $password, в которой хранится пароль пользователя. Если количество символов пароля больше 5-ти и меньше 10-ти, то выведите пользователю сообщение о том, что пароль подходит, иначе сообщение о том, что нужно придумать другой пароль.

Работа с substr

Для решения задач данного блока вам понадобятся следующие функции: substr.

Дана строка 'html css php'. Вырежьте из нее и выведите на экран слово 'html', слово 'css' и слово 'php'.

Дана строка. Вырежите и выведите на экран последние 3 символа этой строки.

Дана строка. Проверьте, что она начинается на 'http://'. Если это так, выведите 'да', если не так - 'нет'.

Дана строка. Проверьте, что она начинается на 'http://' или на 'https://'. Если это так, выведите 'да', если не так - 'нет'.

Дана строка. Проверьте, что она заканчивается на '.png'. Если это так, выведите 'да', если не так - 'нет'.

Дана строка. Проверьте, что она заканчивается на '.png' или на '.jpg'. Если это так, выведите 'да', если не так - 'нет'.

Дана строка. Если в этой строке более 5-ти символов - вырежите из нее первые 5 символов, добавьте троеточие в конец и выведите на экран. Если же в этой строке 5 и менее символов - просто выведите эту строку на экран.

Работа с str_replace

Для решения задач данного блока вам понадобятся следующие функции: str_replace.

Дана строка '31.12.2013'. Замените все точки на дефисы.

Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' - на 3.

Дана строка с буквами и цифрами, например, '1a2b3c4b5d6e7f8g9h0'. Удалите из нее все цифры. То есть в нашем случае должна получится строка 'abcbdefgh'.

Работа с strtr

Для решения задач данного блока вам понадобятся следующие функции: strtr.

Дана строка $str. Замените в ней все буквы 'a' на цифру 1, буквы 'b' - на 2, а буквы 'c' - на 3. Решите задачу двумя способами работы с функцией strtr (массив замен и две строки замен).

Работа с substr_replace

Для решения задач данного блока вам понадобятся следующие функции: substr_replace.

Дана строка $str. Вырежите из нее подстроку с 3-го символа (отсчет с нуля), 5 штук и вместо нее вставьте '!!!'.

Работа с strpos, strrpos

Для решения задач данного блока вам понадобятся следующие функции: strpos, strrpos.

Дана строка 'abc abc abc'. Определите позицию первой буквы 'b'.

Дана строка 'abc abc abc'. Определите позицию последней буквы 'b'.

Дана строка 'abc abc abc'. Определите позицию первой найденной буквы 'b', если начать поиск не с начала строки, а с позиции 3.

Дана строка 'aaa aaa aaa aaa aaa'. Определите позицию второго пробела.

Проверьте, что в строке есть две точки подряд. Если это так - выведите 'есть', если не так - 'нет'.

Проверьте, что строка начинается на 'http://'. Если это так - выведите 'да', если не так - 'нет'.

Работа с explode, implode

Для решения задач данного блока вам понадобятся следующие функции: explode, implode.

Дана строка 'html css php'. С помощью функции explode запишите каждое слово этой строки в отдельный элемент массива.

Дан массив с элементами 'html', 'css', 'php'. С помощью функции implode создайте строку из этих элементов, разделенных запятыми.

В переменной $date лежит дата в формате '2013-12-31'. Преобразуйте эту дату в формат '31.12.2013'.

Работа с str_split

Для решения задач данного блока вам понадобятся следующие функции: str_split.

Дана строка '1234567890'. Разбейте ее на массив с элементами '12', '34', '56', '78', '90'.

Дана строка '1234567890'. Разбейте ее на массив с элементами '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'.

Дана строка '1234567890'. Сделайте из нее строку '12-34-56-78-90' не используя цикл.

Работа с trim, ltrim, rtrim

Для решения задач данного блока вам понадобятся следующие функции: trim, ltrim, rtrim.

Дана строка. Очистите ее от концевых пробелов.

Дана строка '/php/'. Сделайте из нее строку 'php', удалив концевые слеши.

Дана строка 'слова слова слова.'. В конце этой строки может быть точка, а может и не быть. Сделайте так, чтобы в конце этой строки гарантировано стояла точка. То есть: если этой точки нет - ее надо добавить, а если есть - ничего не делать. Задачу решите через rtrim без всяких ифов.

Работа с strrev

Для решения задач данного блока вам понадобятся следующие функции: strrev.

Дана строка '12345'. Сделайте из нее строку '54321'.

Проверьте, является ли слово палиндромом (одинаково читается во всех направлениях, примеры таких слов: madam, otto, kayak, nun, level).

Работа с str_shuffle

Для решения задач данного блока вам понадобятся следующие функции: str_shuffle.

Дана строка. Перемешайте символы этой строки в случайном порядке.

Создайте строку из 6-ти случайных маленьких латинских букв так, чтобы буквы не повторялись. Нужно сделать так, чтобы в нашей строке могла быть любая латинская буква, а не ограниченный набор.

Работа с number_format

Для решения задач данного блока вам понадобятся следующие функции: number_format.

Дана строка '12345678'. Сделайте из нее строку '12 345 678'.

Работа с str_repeat

Для решения задач данного блока вам понадобятся следующие функции: str_repeat.

Нарисуйте пирамиду, как показано на рисунке, только у вашей пирамиды должно быть 9 рядов, а не 5. Решите задачу с помощью одного цикла и функции str_repeat.

x
xx
xxx
xxxx
xxxxx

Нарисуйте пирамиду, как показано на рисунке. Решите задачу с помощью одного цикла и функции str_repeat.

1
22
333
4444
55555
666666
7777777
88888888
999999999

Работа с strip_tags и htmlspecialchars

Для решения задач данного блока вам понадобятся следующие функции: htmlspecialchars, strip_tags.

Дана строка 'html, <b>php</b>, js'. Удалите теги из этой строки.

Дана строка $str. Удалите все теги из этой строки, кроме тегов <b> и <i>.

Дана строка 'html, <b>php</b>, js'. Выведите ее на экран 'как есть': то есть браузер не должен преобразовать <b> в жирный.

Работа с chr и ord

Для решения задач данного блока вам понадобятся следующие функции: chr, ord.

Узнайте код символов 'a', 'b', 'c', пробела.

Изучите таблицу ASCII. Определите границы, в которых располагаются буквы английского алфавита.

Выведите на экран символ с кодом 33.

Запишите в переменную $str случайный символ - большую букву латинского алфавита. Подсказка: с помощью таблицы ASCII определите какие целые числа соответствуют большим буквам латинского алфавита.

Запишите в переменную $str случайную строку $len длиной, состоящую из маленьких букв латинского алфавита. Подсказка: воспользуйтесь циклом for или while.

Дана буква английского алфавита. Узнайте, она маленькая или большая.

Работа с strchr, strrchr

Для решения задач данного блока вам понадобятся следующие функции: strchr, strrchr.

Дана строка 'ab-cd-ef'. С помощью функции strchr выведите на экран строку '-cd-ef'.

Дана строка 'ab-cd-ef'. С помощью функции strrchr выведите на экран строку '-ef'.

Работа с strstr

Для решения задач данного блока вам понадобятся следующие функции: strstr.

Дана строка 'ab--cd--ef'. С помощью функции strstr выведите на экран строку '--cd--ef'.

Задачи

Преобразуйте строку 'var_test_text' в 'varTestText'. Скрипт, конечно же, должен работать с любыми аналогичными строками.

Дан массив с числами. Выведите на экран все числа, в которых есть цифра 3.