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