"title|url|score|user|date" [2] => "tit-6ren">
gpt4 book ai didi

php - 根据PHP中的一些重复值对数组进行排序

转载 作者:行者123 更新时间:2023-12-04 21:20:28 28 4
gpt4 key购买 nike

我有一个包含这种格式的字符串的数组:

[0] => "title|url|score|user|date"
[1] => "title|url|score|user|date"
[2] => "title|url|score|user|date"
[3] => "title|url|score|user|date"
...

score 字段是一个整数,它并不总是唯一的(例如,多个条目的分数可以为 0)。我希望根据字符串的 score 值对该数组中的字符串进行排序。最初,我尝试遍历数组并使用与投票得分对应的键创建一个新数组。我很快意识到数组中不能有重复的键。

有没有一种干净利落的方式来做到这一点?

最佳答案

$array = array(
0 => "title|url|12|user|date",
1 => "title|url|0|user|date",
2 => "title|url|13|user|date",
3 => "title|url|0|user|date"
);

function sortOnScore( $a, $b )
{
// discard first two values
list( ,,$scoreA ) = explode( '|', $a );
list( ,,$scoreB ) = explode( '|', $b );

return $scoreA == $scoreB ? 0 : ( $scoreA > $scoreB ? 1 : -1 );
}

usort( $array, 'sortOnScore' );

var_dump( $array );

关于php - 根据PHP中的一些重复值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7905589/

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