Занимательные задачи PHP. Часть 65
Дан двухмерный массив:
<?php
$arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
?>
Транспонируйте этот массив (преобразуйте строки в столбцы):
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Дана строка:
<?php
$txt = 'abcdef';
?>
Найдите все подстроки этой строки, которые являются палиндромами, и выведите их в порядке возрастания длины.
Дан массив чисел:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8];
?>
Найдите все возможные
способы расставить между
этими числами знаки
'+' и '-' так, чтобы
получилось выражение,
равное 0.
Дан текст:
<?php
$text = 'the sun rises in the east and sets in the west';
?>
Замените каждое слово на его длину, а затем найдите слово с максимальной длиной и выведите его исходный вид и позицию в тексте.
Дан массив чисел:
<?php
$arr = [4, 8, 15, 16, 23, 42, 7, 11, 13, 17];
?>
Разделите этот массив на две группы так, чтобы сумма чисел в группах была равна, а количество элементов в группах было одинаковым. Если это невозможно - выведите сообщение.
Дана строка:
<?php
$txt = 'aabbccddeeffgghhiijj';
?>
Сожмите эту строку в формате, где после символа указывается количество его повторов. Если символ встречается один раз - цифра не пишется:
'a2b2c2d2e2f2g2h2i2j2'
Дан двухмерный массив с товарами и ценами:
<?php
$products = [
['apple', 50],
['banana', 30],
['cherry', 80],
['date', 20],
['elderberry', 100],
];
?>
Дана сумма:
<?php
$money = 100;
?>
Выведите все комбинации товаров, которые можно купить ровно на эту сумму.
Дан текст:
<?php
$text = 'to be or not to be that is the question';
?>
Поменяйте местами первое и последнее слово в этом тексте, а затем переверните порядок остальных слов.
Дано целое число:
<?php
$num = 1234567890;
?>
Найдите все возможные
способы расставить между
цифрами этого числа знаки
'+' и '-' так, чтобы
получилось выражение, равное 100.
Дана строка:
<?php
$txt = 'Hello_World_Test_Case';
?>
Преобразуйте ее
из формата 'Pascal_Snake'
в формат 'kebab-case':
'hello-world-test-case'