<?php
$categories = [
//id, название, parentId, кол-во товаров
[1, 'Бытовая техника', null, 0],
[2, 'Телевизоры', 1, 0],
[3, 'LCD-телевизоры', 2, 20],
[4, 'Телевизоры с газоразрядным дисплеем', 2, 16],
[5, 'Стиральные машины', 1, 0],
[6, 'Холодильники', 1, 0],
[7, 'YOBA-LCD-телевизоры', 3, 4]
];
function getParentCategories($categories, $id) {
foreach ($categories as $goods) {
if ($goods[0] == $id) {
$parent = $goods[0] . " - " . $goods[1];
$parentId = $goods[2];
}
}
if ($parentId == null) {
return ['0 - null'];
} else {
$parents = getParentCategories($categories, $parentId);
$parents[] = $parent;
return $parents;
}
}
echo "<pre>";
$return = getParentCategories($categories, 7);
PD9waHAKIAokY2F0ZWdvcmllcyA9IFsKCS8vaWQsINC90LDQt9Cy0LDQvdC40LUsIHBhcmVudElkLCDQutC+0Lst0LLQviDRgtC+0LLQsNGA0L7QsgoJWzEsICfQkdGL0YLQvtCy0LDRjyDRgtC10YXQvdC40LrQsCcsICAgICAgICAgICAgICAgICAgICAgbnVsbCwgMF0sCglbMiwgJ9Ci0LXQu9C10LLQuNC30L7RgNGLJywgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDBdLAoJWzMsICdMQ0Qt0YLQtdC70LXQstC40LfQvtGA0YsnLCAgICAgICAgICAgICAgICAgICAgICAyLCAyMF0sCglbNCwgJ9Ci0LXQu9C10LLQuNC30L7RgNGLINGBINCz0LDQt9C+0YDQsNC30YDRj9C00L3Ri9C8INC00LjRgdC/0LvQtdC10LwnLCAyLCAxNl0sCglbNSwgJ9Ch0YLQuNGA0LDQu9GM0L3Ri9C1INC80LDRiNC40L3RiycsICAgICAgICAgICAgICAgICAgIDEsIDBdLAoJWzYsICfQpdC+0LvQvtC00LjQu9GM0L3QuNC60LgnLCAgICAgICAgICAgICAgICAgICAgICAgIDEsIDBdLAoJWzcsICdZT0JBLUxDRC3RgtC10LvQtdCy0LjQt9C+0YDRiycsICAgICAgICAgICAgICAgICAzLCA0XQpdOwoKCgpmdW5jdGlvbiBnZXRQYXJlbnRDYXRlZ29yaWVzKCRjYXRlZ29yaWVzLCAkaWQpIHsKCglmb3JlYWNoICgkY2F0ZWdvcmllcyBhcyAkZ29vZHMpIHsKCQlpZiAoJGdvb2RzWzBdID09ICRpZCkgewoJCQkkcGFyZW50ID0gJGdvb2RzWzBdIC4gIiAtICIgLiAkZ29vZHNbMV07CgkJCSRwYXJlbnRJZCA9ICRnb29kc1syXTsKCQl9Cgl9CgoJaWYgKCRwYXJlbnRJZCA9PSBudWxsKSB7CgkJcmV0dXJuIFsnMCAtIG51bGwnXTsKCX0gZWxzZSB7CgkJJHBhcmVudHMgPSBnZXRQYXJlbnRDYXRlZ29yaWVzKCRjYXRlZ29yaWVzLCAkcGFyZW50SWQpOwoKCQkkcGFyZW50c1tdID0gJHBhcmVudDsKCgkJcmV0dXJuICRwYXJlbnRzOwoKCX0KCn0KCmVjaG8gIjxwcmU+IjsKJHJldHVybiA9IGdldFBhcmVudENhdGVnb3JpZXMoJGNhdGVnb3JpZXMsIDcpOwoKcHJpbnRfcigkcmV0dXJuKTs=