排列PHP Array,并在顶部保留一个条目 [英] asort PHP Array and keep one entry at the top

查看:76
本文介绍了排列PHP Array,并在顶部保留一个条目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个PHP数组

我想按字母顺序对其进行排序,并在顶部保留一个精确的条目:

I want to sort it alphabetically and keep a precise entry at the top:

$arr = array ("Orange", "Banana", "Strawberry", "Apple", "Pear");
asort($arr);

现在将输出:

Apple, Banana, Orange, Pear, Strawberry

我想要保持Orange为第一项,然后对其他项重新排序:

I want it to keep Orange as the first entry then reorder the others:

Orange, Apple, Banana, Pear, Strawberry

推荐答案

从数组中获取第一个元素,然后将其返回:

Get first element from array, then return it back:

$arr = array ("Orange", "Banana", "Strawberry", "Apple", "Pear");

$first = array_shift($arr);
asort($arr);
array_unshift($arr, $first);

使用未知的橙色位置进行更新:

Update with unknown orange position:

$arr = array ("Banana", "Orange", "Strawberry", "Apple", "Pear"); 
// $k is index of "Orange" in array
$k = array_search('Orange', $arr);
// store element with founded $k in a variable 
$orange = $arr[$k];
// remove $k element from $arr
// same as `unset($arr[$k]);`
array_splice($arr, $k, 1);
// sort 
asort($arr);
// add element in the beginning
array_unshift($arr, $orange);

这篇关于排列PHP Array,并在顶部保留一个条目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆