3v4l.org

run code in 300+ PHP versions simultaneously
<?php function freqCount(array $values, $searchValue): array { $frequencies = computeFrequencies($values, $searchValue, 0); return array_map(static fn($key) => [$key, $frequencies[$key]], array_keys($frequencies)); } function computeFrequencies(array $values, $searchValue, int $depth): array { $frequencies = [$depth => 0]; foreach ($values as $value) { if ($value === $searchValue) { $frequencies[$depth]++; } elseif (is_array($value)) { foreach (computeFrequencies($value, $searchValue, $depth + 1) as $deeperDepth => $frequency) { $frequencies[$deeperDepth] = ($frequencies[$deeperDepth] ?? 0) + $frequency; } } } return $frequencies; } print_r(freqCount([1, 4, 4, [1, 1, [1, 2, 1, 1]]], 1)); print_r(freqCount([1, 5, 5, [5, [1, 2, 1, 1], 5, 5], 5, [5]], 5)); print_r(freqCount([1, [2], 1, [[2]], 1, [[[2]]], 1, [[[[2]]]]], 2));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [0] => 0 [1] => 1 ) [1] => Array ( [0] => 1 [1] => 2 ) [2] => Array ( [0] => 2 [1] => 3 ) ) Array ( [0] => Array ( [0] => 0 [1] => 3 ) [1] => Array ( [0] => 1 [1] => 4 ) [2] => Array ( [0] => 2 [1] => 0 ) ) Array ( [0] => Array ( [0] => 0 [1] => 0 ) [1] => Array ( [0] => 1 [1] => 1 ) [2] => Array ( [0] => 2 [1] => 1 ) [3] => Array ( [0] => 3 [1] => 1 ) [4] => Array ( [0] => 4 [1] => 1 ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
96.58 ms | 408 KiB | 5 Q