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

Сделайте функцию, которая выводит случайное число от 1 до 100. При этом вызовы функции не должны выдавать два одинаковых числа подряд.
Задача 74
Случайные числа с половинками

Вывести случайное число в заданном промежутке, к примеру от 1 до 100. Случайное число может быть целым 3, или половинкой 3.5.
Канал code.mu в телеграмме!
Все новости сайта. А также другая полезная информация: видеоуроки, бесплатные тренинги, курсы и конкурсы.
Вступайте:
https://t.me/codemu
Задача 75
Случайная картинка из папки

Дана папка, в ней лежат картинки с расширением png и другие файлы. Также в ней лежат подпапки с аналогичным содержимым. Покажите пользователю одну случайную картинку из этой папки.
Задача 76
Удаление пустых элементов массива

Удалите из массива все элементы, являющиеся пустыми строками:
[1, '', 2, '', '', 3]
Задача 77
Удалить дубли из двухмерного массива

Дан двухмерный массив:
<?php
$users = [
[
'name' => 'john',
'surn' => 'smit',
],
[
'name' => 'john',
'surn' => 'book',
],
[
'name' => 'eric',
'surn' => 'smit',
],
];
?>

Удалите из этого массива подмассивы-дубли, имеющие совпадение по заданному полю, в нашем случае, по name или surn.
Задача 78
Одинаковый набор цифр

Даны два числа. Проверьте что эти числа состоят из одинакового набора цифр. Иначе говоря, проверьте то, что перестановкой цифр одного числа можно получить другое число.
Задача 79
Знаки в дробной части

Дано число. Узнайте, сколько знаков у него в дробной части.
Задача 80
Супервложенный массив

Создайте массив следующего вида:
[ 1, [2], [[3]], [­[[4]]], [[[[5]]]] ]

Массив может быть произвольной длины.
Занимательные задачи пока ставятся на паузу, потому что у автора закончились придуманные задачи и фантазия:) Через некоторое время продолжим!
Мы продолжаем с понедельника:)
Задачи будут выходить по-прежнему в 14.00, но теперь каждый день, а не только по будням:)
Задача 81
Границы столетия

Дан год. Получите год начала и год конца столетия, соответствующий заданному году.
Задача 82
Проверка года

Определите, что год находится в интервале от 1900 до 2100 с помощью одного только регулярного выражения.
Задача 83
Пересечение промежутков

Даны два промежутка, например, ['2025-03-11', '2025-10-30'] и ['2025-05-11', '2026-12-31']. Эти промежутки пересекаются. Получите даты начала и конца пересечения.
Задача 84
Проверка времени

Определите, что переданная строка является корректным временем вида 'часы:минуты'. Часы и минуты не должны выходить за диапазон времени.
Задача 85
Удаление слов

Удалите одной регуляркой все слова из предложения, содержащие две одинаковые следующие друг за другом буквы.
Задача 86
Число на слагаемые

Дано целое число. Разбейте его на два целых слагаемых случайным образом.
Задача 87
Удаление вторых слов

Дана строка. Удалите из нее каждое второе слово.
Задача 88
Процент символов в тексте

Дан текст. Получите объект, ключами которого будут символы, а значениями - их процентное содержание в тексте.