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

Lorem ipsum - это генератор псевдолатыни для заполнения страниц сайта. Напишите функцию, которая будет генерировать русский псевдотекст.
Задача 156
Сумма целых чисел

Найдите сумму целых чисел от 1 до 1000000 самым незатратным по ресурсам и самым быстро работающим способом.
Задача 157
Промежуток времени в секунды

Сделайте функцию, которая будет принимать промежуток времени в формате '1 день 3 часа 10 минут 21 секунда', и возвращать количество секунд, соответствующего указанному промежутку.
Задача 158
Найти числа

Найдите все числа от 1 до 1000000, которые делятся на все числа от 1 до 9.
Задача 159
Слияние чередование

Даны два массива вида:
[1, 2, 3] и ['a', 'b', 'c'].

Слейте их вместе таким образом:
[1, 'a', 2, 'b', 3, 'c'].
Задача 160
Знак зодиака

Сделайте функцию, которая принимает дату в формате '2014-12-31', а возвращает знак зодиака в этот день.
Задача 161
Числа Фибоначчи

Числа Фибоначчи представляют собой последовательность, в которой первые два числа равны 0 и 1, а каждое последующее число равно сумме двух предыдущих чисел. Получите первые N чисел Фибоначчи.
Задача 162
Размер папки

Дана папка с файлами и подпапками. Получите размер этой папки в мегабайтах.
Задача 163
Домен из урла

Дан некоторый URL:
$url = 'http://test.com/dir1/dir2/dir3/page.html';

Получите из него имя домена:
'test.com';
Задача 164
Страница из урла

Дан некоторый URL: $url = 'http://test.com/dir1/dir2/dir3/page.html';

Получите из него имя страницы:
'page.html';
Задача 165
Папки из урла

Дан некоторый URL: $url = 'http://test.com/dir1/dir2/dir3/page.html';

Получите из него папки в виде массива:
['dir1', 'dir2', 'dir3']
Задача 166
Селекты с датой

Сгенерируйте три селекта. В первом селекте выведите дни месяца от 1 до 31, во втором - названия месяцев года, а в третьем - года за предыдущие и следующие 10 лет. Сделайте так, чтобы по умолчанию в селектах была выбрана текущая дата.
Задача 167
Активация меню

Дано меню со ссылками. Покрасьте в красный цвет ту ссылку, адрес которой совпадает с URL из адресной строки браузера.
Задача 168
Дела за заданный год

Дан такой список дел за определенную дату:
$affairs = [
'2019-12-31' => ['массив дел'],
'2018-11-29' => ['массив дел'],
'2018-11-30' => ['массив дел'],
'2018-12-27' => ['массив дел'],
'2019-12-29' => ['массив дел'],
'2019-12-30' => ['массив дел'],
'2018-12-30' => ['массив дел'],
'2018-12-31' => ['массив дел'],
];

Выведите на экран все дела за 2018 год.
Задача 169
Диагонали матрицы

Дан произвольный двухмерный массив:
[
[11, 12, 13, 14, 15],
[21, 22, 23, 24, 25],
[31, 32, 33, 34, 35],
[41, 42, 43, 44, 45],
[51, 52, 53, 54, 55],
]

Получите массив элементов его главной диагонали:
[
11, 22, 33, 44, 55
]
Задача 170
Создание ссылок

Дан файл с некоторой произвольной версткой, внутри которой расположены ссылки следующего вида:

<div>
text text text
http://code.mu/ru/
text text text
https://code.mu/ru/
</div>
Прочитайте этот файл и отправьте в браузер его текст так, чтобы ссылки превратились в теги a:

<div>
text text text
<a href="http://code.mu/ru/">code.mu/ru/</a>
text text text
<a href="https://code.mu/ru/">code.mu/ru</a>
</div>
Задача 171
Случайная картинка

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

Дан некоторый URL:
$url = 'http://test.com/dir1/dir2/dir3/page.html';

Получите из него последовательный набор папок:
[
'/dir1/dir2/dir3/',
'/dir2/dir3/',
'/dir3/'
]
Задача 173
Побочная диагональ

Дан произвольный двухмерный массив:
[
[11, 12, 13, 14, 15],
[21, 22, 23, 24, 25],
[31, 32, 33, 34, 35],
[41, 42, 43, 44, 45],
[51, 52, 53, 54, 55],
]

Получите массив элементов его побочной диагонали:
[
15, 24, 33, 42, 51
]
Задача 174
Таблица из массива

Дан массив:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

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

Дан произвольный двухмерный массив:
[
[11, 12, 13, 14, 15],
[21, 22, 23, 24, 25],
[31, 32, 33, 34, 35],
[41, 42, 43, 44, 45],
[51, 52, 53, 54, 55],
]

Обнулите элементы его главной диагонали:
[
[ 0, 12, 13, 14, 15],
[21, 0, 23, 24, 25],
[31, 32, 0, 34, 35],
[41, 42, 43, 0, 45],
[51, 52, 53, 54, 0],
]