<?php
$categories = [
[
'name' => 'Категория 1',
'id' => 1,
],
[
'name' => 'Категория 2',
'id' => 2,
],
[
'name' => 'Категория 3',
'id' => 3,
'parent_id' => 1,
],
[
'name' => 'Категория 4',
'id' => 4,
'parent_id' => 2,
],
[
'name' => 'Категория 5',
'id' => 5,
'parent_id' => 3,
]
];
$tmp = [];
foreach( $categories as $value ) {
if( ! isset( $value[ 'parent_id' ] ) ) { $tmp[ $value[ 'id' ] ] = $value[ 'id' ];
${'category' . $value[ 'id' ]}[] = $value;
}
else {
$tmp[ $value[ 'id' ] ] = $value[ 'parent_id' ];
$key = $value[ 'id' ];
$index = $tmp[ $key ];
}
${'category' . $index}[] = $value;
}
}
PD9waHAKCiRjYXRlZ29yaWVzID0gWwoJWwoJCSduYW1lJyA9PiAn0JrQsNGC0LXQs9C+0YDQuNGPIDEnLAoJCSdpZCcgICA9PiAxLAoJXSwKCVsKCQknbmFtZScgPT4gJ9Ca0LDRgtC10LPQvtGA0LjRjyAyJywKCQknaWQnICAgPT4gMiwKCV0sCglbCgkJJ25hbWUnICAgICAgPT4gJ9Ca0LDRgtC10LPQvtGA0LjRjyAzJywKCQknaWQnICAgICAgICA9PiAzLAoJCSdwYXJlbnRfaWQnID0+IDEsCgldLAoJWwoJCSduYW1lJyAgICAgID0+ICfQmtCw0YLQtdCz0L7RgNC40Y8gNCcsCgkJJ2lkJyAgICAgICAgPT4gNCwKCQkncGFyZW50X2lkJyA9PiAyLAoJXSwKCVsKCQknbmFtZScgICAgICA9PiAn0JrQsNGC0LXQs9C+0YDQuNGPIDUnLAoJCSdpZCcgICAgICAgID0+IDUsCgkJJ3BhcmVudF9pZCcgPT4gMywKCV0KXTsKCiR0bXAgPSBbXTsKZm9yZWFjaCggJGNhdGVnb3JpZXMgYXMgJHZhbHVlICkgewoJaWYoICEgaXNzZXQoICR2YWx1ZVsgJ3BhcmVudF9pZCcgXSApICkgewoJCSR0bXBbICR2YWx1ZVsgJ2lkJyBdIF0gICAgICAgICAgID0gJHZhbHVlWyAnaWQnIF07CgkJJHsnY2F0ZWdvcnknIC4gJHZhbHVlWyAnaWQnIF19W10gPSAkdmFsdWU7Cgl9CgllbHNlIHsKCQkkdG1wWyAkdmFsdWVbICdpZCcgXSBdID0gJHZhbHVlWyAncGFyZW50X2lkJyBdOwoJCSRrZXkgICAgICAgICAgICAgICAgICAgPSAkdmFsdWVbICdpZCcgXTsKCQl3aGlsZSggJGtleSA9IGFycmF5X3NlYXJjaCggJGtleSwgYXJyYXlfZmxpcCggJHRtcCApICkgKSB7CgkJCSRpbmRleCA9ICR0bXBbICRrZXkgXTsKCQl9CgkJJHsnY2F0ZWdvcnknIC4gJGluZGV4fVtdID0gJHZhbHVlOwoJfQp9CnByaW50X3IoICRjYXRlZ29yeTEgKTsKcHJpbnRfciggJGNhdGVnb3J5MiApOw==