PHP中最优雅的方法是将按键选择的数组元素移动到第一个位置?
输入:
$arr[0]=0;
$arr[1]=1;
$arr[2]=2;
....
$arr[n]=n;
$key=10;
Run Code Online (Sandbox Code Playgroud)
输出:
$arr[0]=10;
$arr[1]=0;
$arr[2]=1;
$arr[3]=2;
....
$arr[n]=n;
Run Code Online (Sandbox Code Playgroud)
Yan*_*erk 32
$new_value = $arr[n];
unset($arr[n]);
array_unshift($arr, $new_value);
Run Code Online (Sandbox Code Playgroud)
wp *_*ent 11
无需取消密钥.为了保持简短,请按照以下步骤操作
//appending $new in our array
array_unshift($arr, $new);
//now make it unique.
$final = array_unique($arr);
Run Code Online (Sandbox Code Playgroud)
老问题,已经回答了,但如果你有一个关联数组,你可以使用array_merge.
$arr = array_merge([$key=>$arr[$key]], $arr);
Run Code Online (Sandbox Code Playgroud)
EDITED(上面显示PHP7 +符号,下面是示例)
$arr = ["a"=>"a", "b"=>"b", "c"=>"c", "d"=>"d"];
$arr = array_merge(["c"=>$arr["c"]], $arr);
Run Code Online (Sandbox Code Playgroud)
这项行动的有效结果
$arr == ["c"=>"c", "a"=>"a", "b"=>"b", "d"=>"d"]
Run Code Online (Sandbox Code Playgroud)
这样的事情应该有效.检查数组键是否存在,获取其值,然后unset
再使用array_unshift
它再次创建项目并将其放在开头.
if(in_array($key, $arr)) {
$value = $arr[$key];
unset($arr[$key]);
array_unshift($arr, $value);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30150 次 |
最近记录: |