Перемещение элементов в многомерном массиве.

У меня многомерный массив с родителями и дочерними элементами, и я хочу изменить ключи массива

Это выглядит так:

Array ( [0] => stdClass Object ( [id] => 108 [parent_id] => 0 [children] => Array ( [0] => stdClass Object ( [id] => 71 [parent_id] => 108 [children] => Array ( [0] => stdClass Object ( [id] => 107 [parent_id] => 71 [children] => Array ( [0] => stdClass Object ( [id] => 78 [parent_id] => 107 ) ) ) ) ) ) ) [1] => stdClass Object ( [id] => 82 [parent_id] => 0 ) [2] => stdClass Object ( [id] => 84 [parent_id] => 0 ) [3] => stdClass Object ( [id] => 88 [parent_id] => 0 ) [4] => stdClass Object ( [id] => 92 [parent_id] => 0 ) ) 

Я хочу переместить, например, массив с идентификатором 108 под массивом [id] => 88. Проблема состоит в том, чтобы переместить массив в новую позицию, но также перемещать дочерние массивы.