fork download
  1. <?php
  2.  
  3. $categories = [
  4. //id, название, parentId, кол-во товаров
  5. [1, 'Бытовая техника', null, 0],
  6. [2, 'Телевизоры', 1, 0],
  7. [3, 'LCD-телевизоры', 2, 20],
  8. [4, 'Телевизоры с газоразрядным дисплеем', 2, 16],
  9. [5, 'Стиральные машины', 1, 0],
  10. [6, 'Холодильники', 1, 0],
  11. [7, 'YOBA-LCD-телевизоры', 3, 4]
  12. ];
  13.  
  14.  
  15.  
  16. function getParentCategories($categories, $id) {
  17.  
  18. foreach ($categories as $goods) {
  19. if ($goods[0] == $id) {
  20. $parent = $goods[0] . " - " . $goods[1];
  21. $parentId = $goods[2];
  22. }
  23. }
  24.  
  25. if ($parentId == null) {
  26. return ['0 - null'];
  27. } else {
  28. $parents = getParentCategories($categories, $parentId);
  29.  
  30. $parents[] = $parent;
  31.  
  32. return $parents;
  33.  
  34. }
  35.  
  36. }
  37.  
  38. echo "<pre>";
  39. $return = getParentCategories($categories, 7);
  40.  
  41. print_r($return);
Success #stdin #stdout 0s 82880KB
stdin
Standard input is empty
stdout
<pre>Array
(
    [0] => 0 - null
    [1] => 2 - Телевизоры
    [2] => 3 - LCD-телевизоры
    [3] => 7 - YOBA-LCD-телевизоры
)