sorting — сортировка массива со строковыми значениями в числовом формате

У меня есть массив с этими значениями:

1...
2...
3...
...
9. Built-in Functions
9.1. String
9.2. Arithmetic
9.3. Variable
9.4. Array
9.5. Date & Time
9.6. Object
9.7. Database
9.8. Session
9.9. Directory
9.10. Other

И я хочу, чтобы они отображались в таком порядке (как в числовом формате).

Но, сортируя его с помощью sort () или asort (), используя флаги SORT_NUMERIC и SORT_STRING, я получаю тот же результат:

1...
2...
3...
...
9. Built-in Functions
9.1. String
9.10. Other
9.2. Arithmetic
9.3. Variable
9.4. Array
9.5. Date & Time
9.6. Object
9.7. Database
9.8. Session
9.9. Directory

* см. 9.10

И используя SORT_NATURAL, родительские элементы помещаются ПОСЛЕ дочерних элементов:

1...
2...
3...
...
9.1. String
9.2. Arithmetic
9.3. Variable
9.4. Array
9.5. Date & Time
9.6. Object
9.7. Database
9.8. Session
9.9. Directory
9.10. Other
9. Built-in Functions

Как я могу получить правильную сортировку?

* отредактировано, чтобы правильно включить родительские элементы

0

Решение

Вы можете создать свою собственную сортировку с помощью функции «usort»
http://php.net/manual/en/function.usort.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector