我有一个具有以下结构的数组,我想以一种奇怪的方式对它进行排序。
Array(10,9,8,7,6,5,4,3,2,1)
我想根据当前值对其进行排序。如果当前值为 7,我想从 7 到最高数字排序,然后从 1 返回到当前值。所以数组看起来像下面这样:
Array(7,8,9,10,1,2,3,4,5,6)
谢谢,
安德鲁
最佳答案
这个问题本身似乎很幼稚(在技术意义上),这意味着我感觉有些细节被省略了。但根据您提供的简单说明/示例,这里有一种方法可以做到这一点:
$arr = array(10,9,8,7,6,5,4,3,2,1);
sort($arr);
print_r(
array_merge(
array_slice($arr, array_search(7, $arr)),
array_slice($arr, 0, array_search(7, $arr))
)
);
给予:
Array
(
[0] => 7
[1] => 8
[2] => 9
[3] => 10
[4] => 1
[5] => 2
[6] => 3
[7] => 4
[8] => 5
[9] => 6
)
关于PHP 数组排序设置数字然后从 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542827/