重新排序数组但不更改键

时间:2013-05-21 14:05:14

标签: php arrays sorting

例如,我有这个数组:

$myArray = (

  [0] => 'First',
  [1] => 'Second',
  [2] => 'Third',
  [3] => 'Fourth'

);

我需要得到这个:

$myArray = (

  [0] => 'Fourth',
  [1] => 'Third',
  [2] => 'Second',
  [3] => 'First'

);

因此,与原始数组相比,我可以以相反的顺序将其存储在我的数据库中。

我试过krsort($myArray);,但结果不是我想要的,因为它创造了这样的东西:

$myArray = (

  [3] => 'Fourth',
  [2] => 'Third',
  [1] => 'Second',
  [0] => 'First'

);

我希望键保持原始数组。

问题是我无法对值进行排序,例如通过使用arsort()等的字母,因为它们是不同的(不同的字符串,没有任何意义或订单系统)。

知道怎么做吗?

1 个答案:

答案 0 :(得分:5)

如果要反转数组,只需使用array_reverse

$myArray = array_reverse($myArray);

结果:

array (
    [0] => Fourth
    [1] => Third
    [2] => Second
    [3] => First
)