Объединить общие категории

162
22 октября 2017, 22:53

Здравствуйте. У меня есть категории :

array(
    'Кузов/Двери/Дверь багажника',
    'Кузов/Двери/Ручка двери наружная',
    'Кузов/Двери/Дверь',
);

Первые родители есть у них общие. Как можно сделать так, чтобы получить из этих категорий одну с вложенностью ? (можно просто объяснить логику, без примера)

Кузов
  Двери 
    Дверь багажника
    Ручка двери наружная
    Дверь
Answer 1

Можно собрать массив, а затем уже выводить как угодно, работает с любой вложенностью:

$ar = array(
    'Кузов/Двери/Дверь багажника',
    'Кузов/Двери/Ручка двери наружная',
    'Другой/Двери/Дверь',
    'Другой/Двери/Красные/Красная',
);
$result = [];
foreach($ar as $section) {
    $tmp = &$result;
    foreach(explode('/', $section) as $subsection) {
        $tmp = &$tmp[$subsection];
        $last = $subsection;
    }
   $tmp = $subsection;
}
print_r($result);
Answer 2

Вот вариант:

$ar = array( 
  'Кузов/Двери/Дверь багажника', 
  'Кузов/Двери/Ручка двери наружная', 
  'Кузов/Лудки/Ручка двери наружная', 
  'Кузов/Двери/Ручка двери наружная', 
  'Другой/Двери/Дверь', 
); 
 
foreach ($ar as $value) { 
  $exp = explode("/", $value); 
  $new_ar[$exp[0]][$exp[1]][] = $exp; 
} 
 
 
foreach ($new_ar as $key => $value) { 
  echo "<h1>$key</h1>"; 
  echo "<pre>"; 
  var_dump($value); 
  echo "</pre>"; 
}

READ ALSO
Проблема с автокомплитом в PhpStorm

Проблема с автокомплитом в PhpStorm

Можно ли в PhpStorm вызывать автокомплит меню без нажатия Alt+Space, а чтобы просто во время ввода текста оно само появлялось?

164
Как считывать письма с почты?

Как считывать письма с почты?

Как считывать письма с яндекс почты?

262
Проблема с string (c++) в VSCode

Проблема с string (c++) в VSCode

ЗдравствуйтеТакой вопрос

311
Динамическая память в С++

Динамическая память в С++

Имеется абстрактный класс Beverage и его наследники: DarkRoast и WhipПри таком коде будет ли утечка памятью? И если да, то как правильнее переписать...

254