【发布时间】:2018-04-08 22:45:39
【问题描述】:
我正在使用这个函数对我的多维数组进行排序:
function array_sort_by_column(&$arr, $col, $dir = SORT_ASC) {
$sort_col = array();
foreach ($arr as $key=> $row) {
$sort_col[$key] = $row[$col];
}
array_multisort($sort_col, $dir, $arr);
}
然后像这样调用它:
array_sort_by_column($items, 'name', SORT_DESC);
现在一般的排序工作,但有一个问题:它区分大小写,所以如果我有一个列表:
- 苹果
- 橙色
- 梨
- 香蕉
香蕉不会排在列表(或数组)的第二位,而是排在第一位,所以首先是以大写字母开头的单词,然后是其他单词。
所以上面列表的预期行为是
- 苹果
- 香蕉
- 橙色
- 梨
实际输出为:
- 香蕉
- 梨
- 苹果
- 橙色
我可以改变什么来做到这一点不区分大小写?
【问题讨论】:
标签: php arrays sorting multidimensional-array