Занимательные задачи PHP
338 subscribers
1 photo
15 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят по будням в 14.00.
Download Telegram
Задача 28
Смена оттенка цвета

Сделайте функцию, которая будет принимать цвет в hex формате и делать его более темного оттенка.
Задача 29
Удаление лишних слов

Дан текст. Найдите все места с двумя одинаковыми словами подряд и удалите лишние слова.
Задача 30
Разница между датами

Даны две даты в формате год-месяц-день. Найдите разницу в днях между этими датами.
Задача 31
Слова с одинаковыми буквами подряд

Дан текст. Получите массив слов, у которых есть две одинаковые буквы подряд.
Задача 32
Получение элементов многомерного массива

Дан многомерный массив произвольного уровня вложенности:
<?php
$arr = [
'a' => [
'b' => [
'c' => '+++'
]
]
];
?>

Сделайте функцию, с помощью которой можно будет получить значения элемента с любого уровня вложенности, указав ключи последовательно через точку:
$res = func('a.b.c', $arr);
var_dump($res); // '+++'
Задача 33
Ближайшие вторники

Выведите даты ближайших 10-ти вторников.
Задача 34
Слова с одинаковыми буквами

Дан текст. Получите массив слов, у которых есть одинаковые буквы.
Задача 35
Подсчет количество объектов класса

Дан ООП класс. Сделайте так, чтобы этот класс считал количество своих объектов.
Задача 36
Получение соседней ссылки

Дан блок, содержащий HTML ссылки. Сделайте функцию, которая параметром будет принимать href ссылки и возвращать href соседа сверху для заданной ссылки.
Задача 37
Слова с уникальными буквами

Дан текст. Получите массив слов, состоящих из разных букв.
Задача 38
Повторяем trim

Сделайте аналог функции trim.
Задача 39
Тройки Пифагора

Найдите все тройки Пифагора в промежутке от 1 до 10000.
Задача 40
Функция flatten

Реализуйте функцию flatten, которая в случае, если массив обладает уровнями вложенности (любой глубины), приведёт его к элементарному виду. Пример:

flatten([1, [2], [3, [[[4]]]]]) // [1, 2, 3, 4]
Задача 41
Случайный цвет

Сделайте функцию, которая будет генерировать случайный цвет в hex формате (типа #ffffff).
Бесплатный тренинг по хакингу!
Будем изучать защиту SQL баз данных на PHP.

Начинаем уже завтра!

Вступайте для записи:
https://t.me/+nTaE5Nx9qWw3YzZi

Всем пхпшникам обязательно:)
Задача 42
Сложение часов и минут

Напишите функцию, которая корректно будет складывать часы и минуты. Пример:
<?php
func('1ч 20 мин + 50 мин') // 2ч 10 мин
?>
Задача 43
Разбитие строки до пробела

Обрежьте длинную строку так, чтобы ее длина была не более N символов. При этом слова не должны быть разорваны - обрезание всегда проходит по пробелу и новая строка всегда меньше N.
Задача 44
Подсчет цифр в числах

Подсчитайте суммарное количество цифр в числах от 1 до 1 000 000.
Задача 45
Подсчет многомерного массива

Дан многомерный массив. Подсчитайте количество элементов, не являющихся массивами, во всех уровнях вложенности.
Задача 46
Сложность пароля

Проверьте сложность пароля. Сложный пароль - это пароль с маленькими латинскими, большими латинскими буквами, цифрами и спецсимволами. Придумайте свои критерии, например, не должно идти несколько одинаковых символов подряд и так далее.
При решении задачи указывайте свои критерии также.
Задача 47
Проникновение массивов

Напишите функцию, которая параметрами будет принимать два массива:
<?php
$res = func([1, 2, 3], ['a', 'b', 'c']);
?>

А в качестве результата сливать эти массивы таким образом:
<?php
var_dump($res); // [1, 'a', 2, 'b', 3, 'c']
?>