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

Дана строка с маленькими буквами. Сделайте заглавными половину случайных букв этой строки, игнорируя пробелы.
👍6
Задача 18
Следующий элемент ряда

Дан ряд: a, b, c ,d ... x, y, z , aa, ab, ac, ... ay, az, ba, bb, ... bz, ... aaz.. Напишите функцию, которая получит следующий элемент по предыдущему.
🤔4👍2
Задача 19
N-ный знак после запятой

Поделите число 10 на число 7. Найдите 1000-ный знак после запятой у полученной дроби.
👍3
Задача 20
Перестановка пар символов

Дана строка '12345678'. Сделайте из нее '21436587'. Строка, конечно же, может быть любой.
👍4
Занимательные задачи уходят на каникулы на две недели:)
Всем хорошего нового года!
😱7👍6
Задача 21
Самое популярное слово

Дан текст. Найдите самое часто встречающееся слово в этом тексте.
👍5
Задача 22
Число прописью

Дано некоторое число:
$num = 1234567890;

Выведите это число прописью:
'
один миллиард двести тридцать четыре миллиона
пятьсот шестьдесят семь тысяч восемсот девяносто
'

Ваш код, конечно же, должен быть универсальным и работать для любых чисел в пределах миллиардов.
👍7👻4
Задача 23
Группировка массива по первым буквам

Дан произвольный массив со словами, начинающимися на различные буквы, например, вот такой:
$arr = [
'axx', 'bxx', 'cxx',
'ayy', 'byy', 'cyy',
'azz', 'bzz', 'czz',
];

Преобразуйте этот массив в двухмерный, в котором ключами будут первые буквы слов, а значениями массивы слов, начинающихся на эти буквы:
[
'a' => [
'axx', 'ayy', 'azz',
],
'b' => [
'bxx', 'byy', 'bzz',
],
'c' => [
'cxx', 'cyy', 'czz',
],
]
🐳4👨‍💻2
Задача 24
Сортировка двухмерного массива

Дан двухмерный массив:
[
[
'name' => 'user3',
'age' => 31,
'salary' => 100,
],
[
'name' => 'user1',
'age' => 32,
'salary' => 300,
],
[
'name' => 'user2',
'age' => 33,
'salary' => 200,
],
]

Выполните сортировку этого массива по заданному полю (по имени, возрасту или зарплате).
🐳4👍1
Задача 25
Заданный знак числа Пи

Сделайте функцию, которая будет возвращать заданный знак числа Пи (например, тысячный знак). Номер знака передается параметром функции.
🐳4
Задача 26
Число из прописи

Дано некоторое число прописью:
$str = '
один миллиард двести тридцать четыре миллиона
пятьсот шестьдесят семь тысяч восемсот девяносто
';

Преобразуйте эту пропись в нормальное число:
1234567890

Ваш код, конечно же, должен быть универсальным и работать для любых чисел в пределах миллиардов.
🐳4
Задача 27
Удаление уникальных элементов массива

Дан массив. Удалите из него все элементы, которые встречаются только один раз.
👍7
Задача 28
Смена оттенка цвета

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

Дан текст. Найдите все места с двумя одинаковыми словами подряд и удалите лишние слова.
👍5
Задача 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