Write a PHP program to group the elements of an array based on the given function
<?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')); ?>
Sample Output:
Array ( [3] => Array ( [0] => one [1] => two ) [5] => Array ( [0] => three ) [4] => Array ( [0] => four ) )
total answers (1)
start bookmarking useful questions and collections and save it into your own study-lists, login now to start creating your own collections.
Sample Output:
Array ( [3] => Array ( [0] => one [1] => two ) [5] => Array ( [0] => three ) [4] => Array ( [0] => four ) )need an explanation for this answer? contact us directly to get an explanation for this answer