Занимательные задачи PHP. Часть 45
Дан многомерный массив:
<?php
$arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
];
?>
Транспонируйте этот массив (поменяйте строки и столбцы местами):
[
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
]
Дан файл с текстом. Найдите в нем все строки, которые содержат хотя бы одно число, и замените эти числа на их квадраты, записав результат в новый файл.
Дан массив чисел:
<?php
$arr = [1, 2, 3, 4, 5, 6];
?>
Найдите все возможные способы разбить этот массив на тройки так, чтобы суммы чисел в каждой тройке были равны.
Дана папка с файлами. Найдите все файлы, которые являются дубликатами (одинаковое содержимое), и выведите их пути, сгруппированные по группам.
Дан многомерный ассоциативный массив:
<?php
$arr = [
'a' => ['b' => ['c' => 1]],
'd' => ['e' => 2, 'f' => ['g' => 3]],
'h' => 4,
];
?>
Найдите все ключи, которые ведут к значениям-числам, и выведите пути к ним в виде строк, разделенных точками.
Дан файл с текстом. Найдите в нем все email-адреса и запишите их в новый файл, каждый адрес на своей строке.
Дан массив чисел:
<?php
$arr = [3, 5, 7, 9, 11, 13];
?>
Найдите все возможные тройки чисел из этого массива, которые могут быть сторонами прямоугольного треугольника (теорема Пифагора).
Дана папка с файлами. Найдите
все файлы, которые
были изменены
за последние 7 дней,
и выведите их пути
и даты изменения.
Дан многомерный массив:
<?php
$arr = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
];
?>
Найдите все возможные пути от левого верхнего угла до правого нижнего, двигаясь только вправо или вниз. Выведите количество таких путей.
Дан файл с текстом. Найдите в нем все слова, которые встречаются ровно три раза, и запишите их в новый файл в порядке первого появления.