<?php
$fruitpacks = [
['apples', 3],
['pears', 1],
['apples', 6],
['grapes', 22],
];
abstract class ArrayTools {
public static function integerAppend(array $array, $key, int $value) : array {
return [$key => $value + ($array[$key] ?? 0)] + $array;
}
public static function integerAppendFromTuple(array $array, array $keyIntValuePair) : array {
return self::integerAppend($array, ...$keyIntValuePair);
}
}
var_dump(array_reduce($fruitpacks, [ArrayTools::class, 'integerAppendFromTuple'], []));
- Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(3) {
["grapes"]=>
int(22)
["apples"]=>
int(9)
["pears"]=>
int(1)
}
preferences:
88.49 ms | 408 KiB | 5 Q