【问题标题】:Reorder array but don't change keys重新排序数组但不更改键
【发布时间】:2013-05-16 08:13:31
【问题描述】:

例如,我有这个数组:

$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() 等,因为它们是不同的(不同的字符串,没有任何意义或顺序系统)。

知道怎么做吗?

【问题讨论】:

  • 我已经检查了 asort,arsort,ksort,krsort 没有我想要的。
  • krsort($myArray); $myArray = array_values($myArray) 不行吗?甚至$myArray = array_reverse($myArray);
  • $newarray = array_reverse ($amyArray);
  • @user4035 什么?这是相反的。再次检查!
  • 所以整个问题可以写成“如何在 PHP 中反转数组”? array_reverse

标签: php arrays sorting


【解决方案1】:

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

$myArray = array_reverse($myArray);

结果:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-16
    • 2021-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多