gpt4 book ai didi

php - 按照其他数组定义的顺序对数组进行排序

转载 作者:行者123 更新时间:2023-12-03 03:14:55 25 4
gpt4 key购买 nike

PHP 是否能够按照另一个数组 (B) 定义的顺序对项目数组 (A) 进行排序?例如。 B 中最先出现的项目决定了对 A 进行排序时应将哪个项目排在第一位。

$order_to_sort_by = array("Gold", "Silver", "Bronze");
$items_to_sort = array("Bronze", "Silver", "Bronze", "Gold", "Bronze", "Silver");

some_sort_function($items_to_sort, $order_to_sort_by);

结果:

Gold
Silver
Silver
Bronze
Bronze
Bronze

编辑:建议的重复项似乎使用另一个数组的键来确定数组中的哪些键应用于排序。有点不清楚,但我不认为它是重复的。

最佳答案

你可以尝试这样的事情

$order_to_sort_by = array("Gold", "Silver", "Bronze");
$items_to_sort = array("Bronze", "Silver", "Bronze", "Gold", "Bronze", "Silver");

$order_to_sort_by_reversed = array_flip($order_to_sort_by);
$sortByArray = function($a, $b) use ($order_to_sort_by_reversed)
{
return $order_to_sort_by_reversed[$a] - $order_to_sort_by_reversed[$b];
};
usort($items_to_sort, $sortByArray);

var_dump($items_to_sort);

关于php - 按照其他数组定义的顺序对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35272282/

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