在PHP中重新排列数组

Dor*_*ori 1 php arrays

我有一个类似{A,B,C,D,E,F,G,H}的数组.我希望能够选择索引或条目并重新排序数组.所以说如果我有一个功能

reorder('C');
Run Code Online (Sandbox Code Playgroud)

它会从C开始返回数组,在此索引添加到结尾之前有任何内容,所以这个例子会给出

{C,D,E,F,G,H,A,B}
Run Code Online (Sandbox Code Playgroud)

有功能已经这样做了吗?

谢谢

编辑:我最后用过这个

$key = array_search($imgToShow, $imgList);      
$sliceEnd = array_slice($imgList, 0, $key);     
$sliceStart = array_slice($imgList, count($sliceEnd));      
$array = array_merge($sliceStart, $sliceEnd);
Run Code Online (Sandbox Code Playgroud)

rek*_*o_t 7

你能做的就是简单的阵列移动魔法.首先对数组进行排序,如果尚未订购,如果是,请跳过此步骤:

sort($array);
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式找到您要开始排序的值:

$key = array_search('C', $array);
Run Code Online (Sandbox Code Playgroud)

然后在找到的键之前删除数组的部分:

$slice = array_splice($array, 0, $key);
Run Code Online (Sandbox Code Playgroud)

然后将切片附加到数组的末尾:

array_splice($array, count($array), 0, $slice);
Run Code Online (Sandbox Code Playgroud)