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