Упражнения на PHP: группировка элементов массива на основе заданной функции
PHP: упражнение-83 с решением
Напишите PHP-программу для группировки элементов массива на основе заданной функции.
Пример решения: -
PHP-код:
<?php
// License: https://bit.ly/2CFA5XY
function groupBy($items, $func)
{
$group = [];
foreach ($items as $item) {
if ((!is_string($func) && is_callable($func)) || function_exists($func)) {
$key = call_user_func($func, $item);
$group[$key][] = $item;
} elseif (is_object($item)) {
$group[$item->{$func}][] = $item;
} elseif (isset($item[$func])) {
$group[$item[$func]][] = $item;
}
}
return $group;
}
print_r(groupBy(['one', 'two', 'three', 'four'], 'strlen'));
?>
Пример вывода:
массив ( [3] => Массив ( [0] => один [1] => два ) [5] => Массив ( [0] => три ) [4] => Массив ( [0] => четыре ) )
Блок - схема:
Редактор кода PHP:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Previous: написать программу PHP, чтобы получить индекс последнего элемента, для которого данная функция возвращает значение истинности.
Далее: написать программу PHP, чтобы проверить плоский список на наличие дублирующихся значений. Возвращает true, если существуют повторяющиеся значения, и false, если все значения уникальны.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code