【问题标题】:How to reverse an array [duplicate]如何反转数组[重复]
【发布时间】:2014-05-15 21:49:45
【问题描述】:

所以这是我的数组,我尝试过rsortarray_reverse,但它是按数字排序的,这不是我想要的。我只是想要它以相反的顺序。

[15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16]

【问题讨论】:

标签: php arrays sorting


【解决方案1】:

您需要将true 添加到您的array_reverse

array array_reverse ( array $array [, bool $preserve_keys = false ] )

换句话说,试试这样的:

array_reverse( $yourArray, true);

通过这种方式,您的密钥得以保留,您可以实现所需的功能。

【讨论】:

    【解决方案2】:

    array_reverse 应该可以工作。我刚刚做了这个测试:

    $array = array(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16);
    $rArray = array_reverse($array);
    
    print_r($array);
    print_r($rArray);
    

    结果是:

    //for $array
    Array ( [0] => 15 [1] => 14 [2] => 13 [3] => 12 [4] => 11 [5] => 10 [6] => 9 [7] => 8 [8] => 7 [9] => 6 [10] => 5 [11] => 4 [12] => 3 [13] => 2 [14] => 1 [15] => 30 [16] => 29 [17] => 28 [18] => 27 [19] => 26 [20] => 25 [21] => 24 [22] => 23 [23] => 22 [24] => 21 [25] => 20 [26] => 19 [27] => 18 [28] => 17 [29] => 16 )
    
    //for $rArray
    Array ( [0] => 16 [1] => 17 [2] => 18 [3] => 19 [4] => 20 [5] => 21 [6] => 22 [7] => 23 [8] => 24 [9] => 25 [10] => 26 [11] => 27 [12] => 28 [13] => 29 [14] => 30 [15] => 1 [16] => 2 [17] => 3 [18] => 4 [19] => 5 [20] => 6 [21] => 7 [22] => 8 [23] => 9 [24] => 10 [25] => 11 [26] => 12 [27] => 13 [28] => 14 [29] => 15 ) 
    

    【讨论】:

      【解决方案3】:

      为了反转一个数组,只需将它放入堆栈中(或至少使用该逻辑)。

      FILO(先进后出)因此您已经交换了顺序。

      关于 php 堆栈的堆栈溢出问题可以在这里找到: PHP Stack Implementation

      您熟悉其他语言吗?我不怎么用ph​​p。

      只需创建一个新对象并为其添加结尾即可。前任 新数组 a a.push(oldArray.removelast())...

      【讨论】:

        【解决方案4】:

        自己动手做更有趣的解决方案:

        $oldArray = array(15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16);
        $length = count($oldArray);
        $start= $length - 1;
        $newArray=array();
        for ($x = $start; $x >=0; $x--)
        {
          array_push($newArray,$oldArray[$x]);
        }
        print_r($newArray);
        

        打印:

        Array ( [0] => 16 [1] => 17 [2] => 18 [3] => 19 [4] => 20 [5] => 21 [6] => 22 [7] => 23 [8] => 24 [9] => 25 [10] => 26 [11] => 27 [12] => 28 [13] => 29 [14] => 30 [15] => 1 [16] => 2 [17] => 3 [18] => 4 [19] => 5 [20] => 6 [21] => 7 [22] => 8 [23] => 9 [24] => 10 [25] => 11 [26] => 12 [27] => 13 [28] => 14 [29] => 15 ) 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-11
          • 2021-10-30
          • 1970-01-01
          • 2019-08-28
          • 2012-09-22
          • 1970-01-01
          相关资源
          最近更新 更多