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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Написать функцию, на вход которой подается массив с числовыми элементами. Функция должна вернуть отсортированный массив по частоте повтора элементов в нем.

Пример. На вход функции подаем следующий массив:
[5, 9, 2, 4, 1, 2, 5, 8, 2, 2, 8, 4, 5]

В результате после сортировки получим следующий массив:
[2, 2, 2, 2, 5, 5, 5, 4, 4, 8, 8, 9, 1]
👍2🕊1
Задача 49
Найти все целые решения

Найдите все ЦЕЛЫЕ решения уравнения x^y = y^x.
👍2🕊1