PHP 数组排序设置数字然后从 1

标签 php arrays sorting

我有一个具有以下结构的数组,我想以一种奇怪的方式对它进行排序。

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))
    )
);

http://codepad.org/kweQxjGE

给予:

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/

相关文章:

java - 如何不断提示用户输入新词

php - 带有双引号的json解析错误

javascript - 如何检查是否选择了表单选择以提交表单?

php - 表单在 Laravel 5 中显示为纯文本

javascript - 如何将数组转换为 Google 表格的矩阵

java - 从文件中读取但不保存到我的数组中

php - 使用php在特定字符后添加一个空格

bash - 根据列中出现的数字从大到小对 CSV 文件进行排序

c# - DataTable.DefaultView.Sort 不排序

algorithm - 什么是蛇类?