Занимательные задачи PHP. Часть 20
Дан текст:
<?php
$text = 'The quick brown fox jumps over the lazy dog';
?>
Проверьте, является ли этот текст панграммой, то есть содержит ли он все буквы английского алфавита хотя бы по одному разу.
Дан двухмерный массив с товарами и их ценами:
<?php
$products = [
['apple', 50],
['banana', 30],
['bread', 40],
['milk', 60],
['cheese', 90],
];
?>
Дана сумма:
<?php
$money = 100;
?>
Выведите все возможные комбинации товаров, которые можно купить ровно на эту сумму.
Дана строка:
<?php
$txt = 'aaa bbb ccc ddd';
?>
Замените каждое слово на его длину, сохранив структуру строки (пробелы между словами):
'3 3 3 3'
Дан массив чисел:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
?>
Разбейте его на подмассивы
по 3 элемента в каждом.
Последний подмассив может быть
неполным:
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
Дан массив слов:
<?php
$arr = ['cat', 'dog', 'tac', 'god', 'act'];
?>
Найдите в нем все пары слов, которые являются анаграммами друг друга, и выведите их в виде массивов.
Дана строка:
<?php
$txt = 'hello world';
?>
Замените в ней все гласные буквы
на их порядковый номер в строке
(нумерация с 0):
'h2ll4 w7rld'
Дан массив чисел:
<?php
$arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
?>
Найдите все числа, которые встречаются в массиве более двух раз, и выведите их в порядке убывания частоты.
Дана строка:
<?php
$txt = 'aabbbccccdd';
?>
Выполните над ней RLE-сжатие, то есть замените каждую группу одинаковых символов на сам символ и количество его повторов:
'a2b3c4d2'
Даны два слова:
<?php
$word1 = 'abcdef';
$word2 = 'aXbYcZ';
?>
Проверьте, можно ли получить второе слово из первого, вставив между его буквами произвольные символы (порядок букв первого слова должен сохраниться). В данном примере ответ - да.
Дана строка:
<?php
$txt = 'a1b2c3';
?>
Найдите все числа в этой строке и замените их на их квадраты:
'a1b4c9'