Laravel合并两个集合后如何实现不区分大小写的字母顺序排序
你当前使用的sort()方法默认执行区分大小写的字符串比较,所以会先排序所有大写开头的元素,再排序小写开头的元素。
要实现不区分大小写的排序,替换为sortBy()方法,在回调中把每个项统一转为小写作为排序依据即可,代码如下:
$result = $commonTitles->merge($newTitles)->sortBy(fn ($item) => strtolower($item));
如果你的运行环境PHP版本低于7.4,不支持箭头函数,可以用传统匿名函数写法:
$result = $commonTitles->merge($newTitles)->sortBy(function ($item) { return strtolower($item); });
修改后你的示例数据排序结果为["ab","Ask","Black","live","test","Unit"],符合不区分大小写从A/a到Z/z的排序要求。
内容的提问来源于stack exchange,提问作者Hoda Kh
相关产品推荐
相关产品推荐

