Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.10 KB | None | 0 0
  1. <?php
  2.  
  3. function freqCount($array, $element)
  4. {
  5.     $result = [[0, 0]];
  6.     foreach ($array as $arrayElement) {
  7.         if (is_numeric($arrayElement) && $arrayElement == $element) {
  8.             foreach ($result as $index => $level) {
  9.                 if ($level[0] == 0) {
  10.                     $result[$index][1]++;
  11.                 }
  12.             }
  13.         }
  14.         if (is_array($arrayElement)) {
  15.             $internalResult = freqCount($arrayElement, $element);
  16.             foreach ($internalResult as $internalLevel) {
  17.                 $found = false;
  18.                 foreach ($result as $index => $level) {
  19.                     if ($level[0] == 1 + $internalLevel[0]) {
  20.                         $result[$index][1] += $internalLevel[1];
  21.                         $found = true;
  22.                         break;
  23.                     }
  24.                 }
  25.                 if (!$found) {
  26.                     $result [] = [$internalLevel[0] + 1, $internalLevel[1]];
  27.                 }
  28.             }
  29.         }
  30.     }
  31.     return $result;
  32. }
  33.  
  34. $array = [1, 4, 4, [1, 1, [1, 2, 1, 1]]];
  35. print_r (freqCount($array, 1));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement