gpt4 book ai didi

php - PHP中的自定义排序数组

转载 作者:行者123 更新时间:2023-12-01 08:38:14 26 4
gpt4 key购买 nike

Possible Duplicate:
How can I sort arrays in php by a custom alphabet?

例如,我有六个字:

香蕉、苹果、爱情、zasca、日本、汽车

有没有办法按字母顺序排序,使用这个自定义顺序:“j、c、z、l、a”?

最佳答案

这里有一些粗略的代码可以帮助您入门:

基本上,它查看数据数组中每个单词的第一个字母,并检查其在 $sortOrder 数组中的位置。不在 $sortOrder 中的字母按出现的顺序放在最后。

马上,如果 $sortOrder 中有超过 100,000 个项目,这将中断。可能还有其他漏洞,但我认为这是一个很好的例子,说明 usort()有效。

<?php
function getSortOrder($c) {
$sortOrder = array("j","c","z","l","a");
$pos = array_search($c, $sortOrder);

return $pos !== false ? $pos : 99999;
}

function mysort($a, $b) {
if( getSortOrder($a[0]) < getSortOrder($b[0]) ) {
return -1;
}elseif( getSortOrder($a[0]) == getSortOrder($b[0]) ) {
return 0;
}else {
return 1;
}
}

$data = array(
"banana",
"apple",
"love",
"zasca",
"japanese",
"car"
);

echo '<pre>' . print_r($data,true) . '</pre>';
usort($data, "mysort");
echo '<pre>' . print_r($data,true) . '</pre>';
?>

关于php - PHP中的自定义排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com