<?php $pages = [ [ 'page_id' => '1' ], [ 'page_id' => '2', 'children' => [[ [ 'page_id' => '10', 'children' => [[ [ 'page_id' => '12' ], [ 'page_id' => '13' ] ]] ], [ 'page_id' => '11' ] ]] ], [ 'page_id' => '4' ], [ 'page_id' => '3' ] ]; function removeUselessArrays($array) { $newArray = []; foreach ($array as $key => $value) { $newArray[$key] = removeUselessArrays($value[0]); } else { $newArray[$key] = removeUselessArrays($value); } } else { $newArray[$key] = $value; } } return $newArray; } echo "Before:" . PHP_EOL; echo "After:" . PHP_EOL;
Standard input is empty
Before:
Array
(
[0] => Array
(
[page_id] => 1
)
[1] => Array
(
[page_id] => 2
[children] => Array
(
[0] => Array
(
[0] => Array
(
[page_id] => 10
[children] => Array
(
[0] => Array
(
[0] => Array
(
[page_id] => 12
)
[1] => Array
(
[page_id] => 13
)
)
)
)
[1] => Array
(
[page_id] => 11
)
)
)
)
[2] => Array
(
[page_id] => 4
)
[3] => Array
(
[page_id] => 3
)
)
After:
Array
(
[0] => Array
(
[page_id] => 1
)
[1] => Array
(
[page_id] => 2
[children] => Array
(
[0] => Array
(
[page_id] => 10
[children] => Array
(
[0] => Array
(
[page_id] => 12
)
[1] => Array
(
[page_id] => 13
)
)
)
[1] => Array
(
[page_id] => 11
)
)
)
[2] => Array
(
[page_id] => 4
)
[3] => Array
(
[page_id] => 3
)
)