Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Array
- (
- [38] => Array
- (
- [name] => Categoria Raiz 1
- [link] => https://...
- [id_parent] => 0
- )
- [205] => Array
- (
- [name] => Subcategoria 1
- [link] => https://...
- [id_parent] => 38
- )
- [206] => Array
- (
- [name] => Subcategoria 2
- [link] => https://...
- [id_parent] => 38
- )
- [484] => Array
- (
- [name] => Categoria Raiz 2
- [link] => https://...
- [id_parent] => 0
- )
- [485] => Array
- (
- [name] => Subcategoria 3
- [link] => https://...
- [id_parent] => 484
- )
- [39] => Array
- (
- [name] => categoria Raiz 3
- [link] => https://...
- [id_parent] => 0
- )
- [147] => Array
- (
- [name] => Subcategoria 4
- [link] => https://...
- [id_parent] => 39
- )
- )
- <?php
- foreach($array as $key => $value) { ?>
- <li data-id_parent="<?php echo $value['id_parent']; ?>">
- <a href="<?php echo $value['link']; ?>"><?php echo $value['name']; ?></a>
- <?php
- if (!isset($id_anterior)) { ?>
- <ul>
- <?php } else {
- if ($id_anterior != $value['id_parent']) { ?>
- </ul>
- <ul>
- <?php }
- }
- ?>
- </li>
- <?php
- $id_anterior = $key;
- }
- ?>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 1</a>
- <ul>
- <li data-id_parent="38">
- <a href="https://...">Subcategoria 1</a>
- </li>
- <li data-id_parent="38">
- <a href="https://...">Subcategoria 2</a>
- </li>
- </ul>
- </li>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 2</a>
- <ul>
- <li data-id_parent="484">
- <a href="https://...">Subcategoria 3</a>
- </li>
- </ul>
- </li>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 3</a>
- <ul>
- <li data-id_parent="39">
- <a href="https://...">Subcategoria 4</a>
- </li>
- </ul>
- </li>
- $menu = [
- 38 => [
- 'name' => 'Categoria Raiz 1',
- 'link' => 'https://...',
- 'id_parent' => 0
- ],
- 205 => [
- 'name' => 'Subcategoria 1',
- 'link' => 'https://...',
- 'id_parent' => 38
- ],
- 206 => [
- 'name' => 'Subcategoria 2',
- 'link' => 'https://...',
- 'id_parent' => 38
- ],
- 484 => [
- 'name' => 'Categoria Raiz 2',
- 'link' => 'https://...',
- 'id_parent' => 0
- ],
- 485 => [
- 'name' => 'Subcategoria 3',
- 'link' => 'https://...',
- 'id_parent' => 484
- ],
- 39 => [
- 'name' => 'Categoria Raiz 3',
- 'link' => 'https://...',
- 'id_parent' => 0
- ],
- 147 => [
- 'name' => 'Subcategoria 4',
- 'link' => 'https://...',
- 'id_parent' => 39
- ]
- ];
- $organized = [];
- foreach ($menu as $index => $item) {
- if (isset($organized[$item['id_parent']])) {
- $organized[$item['id_parent']]['child'][$index] = $item;
- } else {
- $item['child'] = [];
- $organized[$index] = $item;
- }
- }
- array(3) {
- [38]=>
- array(4) {
- ["name"]=>
- string(16) "Categoria Raiz 1"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(0)
- ["child"]=>
- array(2) {
- [205]=>
- array(3) {
- ["name"]=>
- string(14) "Subcategoria 1"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(38)
- }
- [206]=>
- array(3) {
- ["name"]=>
- string(14) "Subcategoria 2"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(38)
- }
- }
- }
- [484]=>
- array(4) {
- ["name"]=>
- string(16) "Categoria Raiz 2"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(0)
- ["child"]=>
- array(1) {
- [485]=>
- array(3) {
- ["name"]=>
- string(14) "Subcategoria 3"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(484)
- }
- }
- }
- [39]=>
- array(4) {
- ["name"]=>
- string(16) "Categoria Raiz 3"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(0)
- ["child"]=>
- array(1) {
- [147]=>
- array(3) {
- ["name"]=>
- string(14) "Subcategoria 4"
- ["link"]=>
- string(11) "https://..."
- ["id_parent"]=>
- int(39)
- }
- }
- }
- }
- function echoList($array) {
- echo '<ul>';
- foreach($array as $item) {
- echo '<li data-id_parent="'.$item['id_parent'].'"><a href="'.$item['link'].'">'.$item['name'].'</a>';
- if (isset($item['child']) && !empty($item['child'])) {
- echoList($item['child']);
- }
- echo '</li>';
- }
- echo '</ul>';
- }
- echoList($organized);
- <ul>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 1</a>
- <ul>
- <li data-id_parent="38"><a href="https://...">Subcategoria 1</a></li>
- <li data-id_parent="38"><a href="https://...">Subcategoria 2</a></li>
- </ul>
- </li>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 2</a>
- <ul>
- <li data-id_parent="484"><a href="https://...">Subcategoria 3</a></li>
- </ul>
- </li>
- <li data-id_parent="0">
- <a href="https://...">Categoria Raiz 3</a>
- <ul>
- <li data-id_parent="39"><a href="https://...">Subcategoria 4</a></li>
- </ul>
- </li>
- </ul>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement