Занимательные задачи PHP
336 subscribers
1 photo
15 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят по будням в 14.00.
Download Telegram
Задача 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],
]
Задача 176
Шахматная таблица

Сгенерируйте HTML таблицу, покрашенную в виде шахматной доски.
Задача 177
Обнуление под диагональю

Дан произвольный двухмерный массив:
[
[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, 12, 13, 14, 15],
[ 0, 22, 23, 24, 25],
[ 0, 0, 33, 34, 35],
[ 0, 0, 0, 44, 45],
[ 0, 0, 0, 0, 55],
]
Задача 178
Замена сегмента урла

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

Даны переменные:
$num = 2;
$val = 'eee'

Замените в URL папку с номером $num на значение $val:
'http://test.com/dir1/eee/dir3/page.html';
Задача 179
Случайное предсказание

Сделайте сайт, по заходу отдающий случайное предсказание, хорошее или плохое. Предсказания должны хранится в БД. При обновлении страницы предсказание не должно меняться в течении текущего дня.
Всем привет:)
Завтра выходит последняя задача из запланированных и пока перерыв:) Где-то в январе сделаю еще:)
Задача 180
Обнуление не диагоналей

Дан произвольный двухмерный массив:
[
[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, 0, 0, 0, 15],
[ 0, 22, 0, 24, 0],
[ 0, 0, 33, 0, 0],
[ 0, 42, 0, 44, 0],
[51, 0, 0, 0, 55],
]
НОВИНКА
Практика на Реальных Проектах и Работы в Портфолио
Бесплатный курс!

Вы сможете создать работы в свое портфолио, участвуя в создании реальных проектов с поддержкой ментора.

Вступайте для записи:
https://t.me/+zwcOdcunW8syNGRi
НОВАЯ РУБРИКА
Мои ученики часто просят меня рассказать о себе:
как я учился, чем занимаюсь сейчас, какие у меня дальнейшие планы.
Часто задают вопросы, как мне удается все успевать: писать учебники, вести курсы, отвечать на вопросы учеников и читать лекции.

Я решил рассказать это
в виде серии постов:)

Начало тут:
https://t.me/codemu/113

Заходите!