PHP - 使用字符串值作为数字对数组进行排序

时间:2016-08-14 21:18:47

标签: php sorting numeric asort

我有一个包含这些值的数组:

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

我怎样才能得到正确的排序?

*已编辑以正确包含父项

1 个答案:

答案 0 :(得分:0)

您可以使用" usort"创建自己的排序。功能 http://php.net/manual/en/function.usort.php