Write a PHP program to group the elements of an array based on the given function
- برمجة بي اتش بي
- 2021-09-08
- mhanasmh00489829403
الأجوبة
<?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
)
)أسئلة مشابهة
القوائم الدراسية التي ينتمي لها السؤال