<?php
$data = [
'test' => [
'a' => [
'b' => 'something',
5 => [
'a' => [
1 => 'test1',
19 => 'test2',
6 => 'test3',
],
0 => 'test',
],
],
'b' => 1,
2 => [
3 => 'something',
5 => 'somethingelse',
],
4 => 'body'
],
'anothertest' => [
'b' => 1,
5 => [
'test' => 1,
2 => 'something',
3 => 'somethingelse',
],
],
];
function reindex($array)
{
$index = 0;
$return = [];
foreach ($array as $key => $value) {
$newKey = $key;
} else {
$newKey = $index;
++$index;
}
$return[$newKey] = is_array($value) ? reindex
($value) : $value; }
// Sort alphabetically, numeric first then alpha
ksort($return, SORT_NATURAL
);
return $return;
}
$array = reindex($data);
PD9waHAKCiRkYXRhID0gWwoJJ3Rlc3QnID0+IFsKCQknYScgPT4gWwoJCQknYicgPT4gJ3NvbWV0aGluZycsCgkJCTUgPT4gWwoJCQkJJ2EnID0+IFsKCQkJCQkxID0+ICd0ZXN0MScsCgkJCQkJMTkgPT4gJ3Rlc3QyJywKCQkJCQk2ID0+ICd0ZXN0MycsCgkJCQldLAoJCQkJMCA9PiAndGVzdCcsCgkJCV0sCgkJXSwKCQknYicgPT4gMSwKCQkyID0+IFsKCQkJMyA9PiAnc29tZXRoaW5nJywKCQkJNSA9PiAnc29tZXRoaW5nZWxzZScsCgkJXSwKCQk0ID0+ICdib2R5JwoJXSwJCgknYW5vdGhlcnRlc3QnID0+IFsKCQknYicgPT4gMSwKCQk1ID0+IFsKCQkJJ3Rlc3QnID0+IDEsCgkJCTIgPT4gJ3NvbWV0aGluZycsCgkJCTMgPT4gJ3NvbWV0aGluZ2Vsc2UnLAoJCV0sCgldLApdOwoKZnVuY3Rpb24gcmVpbmRleCgkYXJyYXkpCnsKCSRpbmRleCA9IDA7CgkkcmV0dXJuID0gW107CgkKCWZvcmVhY2ggKCRhcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkgewoJCWlmIChpc19zdHJpbmcoJGtleSkpIHsKCQkJJG5ld0tleSA9ICRrZXk7CgkJfSBlbHNlIHsKCQkJJG5ld0tleSA9ICRpbmRleDsKCQkJKyskaW5kZXg7CgkJfQoJCQoJCSRyZXR1cm5bJG5ld0tleV0gPSBpc19hcnJheSgkdmFsdWUpID8gcmVpbmRleCgkdmFsdWUpIDogJHZhbHVlOwoJfQoJCgkvLyBTb3J0IGFscGhhYmV0aWNhbGx5LCBudW1lcmljIGZpcnN0IHRoZW4gYWxwaGEKCWtzb3J0KCRyZXR1cm4sIFNPUlRfTkFUVVJBTCk7CgkKCXJldHVybiAkcmV0dXJuOwp9CgokYXJyYXkgPSByZWluZGV4KCRkYXRhKTsKCnByaW50X3IoJGFycmF5KTs=