Are there any specific PHP functions or methods that can assist in sorting and organizing hierarchical data for display in an admin panel?

When dealing with hierarchical data in an admin panel, it is important to properly sort and organize the data to make it user-friendly. One way to achieve this is by using PHP functions like `array_multisort()` or `usort()` to sort the hierarchical data based on specific criteria such as parent-child relationships or levels in the hierarchy. Additionally, functions like `array_walk()` or recursive functions can be used to traverse the hierarchical data structure and format it for display in the admin panel.

// Sample code to sort and organize hierarchical data for display in an admin panel

// Sample hierarchical data array
$data = [
    ['id' => 1, 'name' => 'Parent 1', 'parent_id' => null],
    ['id' => 2, 'name' => 'Child 1', 'parent_id' => 1],
    ['id' => 3, 'name' => 'Child 2', 'parent_id' => 1],
    ['id' => 4, 'name' => 'Parent 2', 'parent_id' => null],
    ['id' => 5, 'name' => 'Child 3', 'parent_id' => 4]
];

// Sort the data by parent-child relationships
usort($data, function($a, $b) {
    return ($a['parent_id'] ?? 0) - ($b['parent_id'] ?? 0);
});

// Display the sorted data
foreach ($data as $item) {
    echo str_repeat('-', $item['parent_id'] ? 4 : 0) . $item['name'] . PHP_EOL;
}