我有一个类似{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)
你能做的就是简单的阵列移动魔法.首先对数组进行排序,如果尚未订购,如果是,请跳过此步骤:
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)
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |