我想问一下如何自然地订购一些数组呢? 在较旧的php版本中,natsort运行良好,但现在情况并非如此。它会跳过空间并扰乱自然秩序。 我找到了
sort($ list_items,SORT_STRING | SORT_FLAG_CASE);
和
usort($list_items, function($first, $second) {
if ($first == $second) {
return 0;
} else {
return (strtolower($first) < strtolower($second)) ? -1 : 1;
}
效果更好,但它们都有一个问题:它将单个单词放在列表的末尾。 对于前者它会是:
不是
任何人都有解决方案吗? 非常感谢你!
答案 0 :(得分:0)
你期待这个吗?这里我们使用strcmp函数进行二进制安全字符串比较。
$array = array(
"Romania Yearbook",
"Romania Ziar independent",
"Romaniai Elelmezezi Ipari Munkasok Egyesult",
"Romaniai"
);
usort($array,function($str1, $str2){
strcmp($str1, $str2);
});
print_r($array);
答案 1 :(得分:0)
我认为array_multisort()
是你需要的,它也有sorting type
。
答案 2 :(得分:0)
请尝试使用asort(数组);它用于按名称排序值