кодесурса
«PHP

Упражнения на PHP: группировка элементов массива на основе заданной функции

script1adsense2code
script1adsense3code

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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code