【问题标题】:What is the best way to reorder an array in PHP [duplicate]在PHP中重新排序数组的最佳方法是什么[重复]
【发布时间】:2013-05-25 23:39:38
【问题描述】:

这是一个数组:

$array = (0 => "pear", 1 => "apple", 2 => "orange", 3 => "kiwi");

将数组重新排序为的最佳方法是什么:

$array = (0 => "pear", 1 => "kiwi", 2 => "orange", 3 => "apple");

编辑:

请注意,我不是在寻找字母排序。我正在寻找切换数组中两个项目的顺序。我最初的想法是弹出我想要更改的 key=>value 对,然后重新插入它。但我想知道是否有更好的方法。

【问题讨论】:

标签: php arrays key


【解决方案1】:

使用此代码切换数组的 2 个值:

$tmp = $array[1];
$array[1] = $array[3];
$array[3] = $tmp;
unset($tmp); // you may delete the variable if you no longer need it

【讨论】:

    【解决方案2】:

    我认为您可以使用 asort 按字母顺序对数组进行排序

    一般示例

    $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
    asort($fruits);
    foreach ($fruits as $key => $val) {
        echo "$key = $val\n";
    }
    

    这将输出

    c = apple
    b = banana
    d = lemon
    a = orange
    

    【讨论】:

    • 抱歉,按字母顺序排列不是我的本意。我会改写我的问题。
    【解决方案3】:

    我会简单地使用:

    $list = array('apple', 'pear', 'kiwi');
    sort($list);
    var_dump($list);
    

    这对于非关联数组来说是最好的。

    【讨论】:

      【解决方案4】:

      使用asort($array) 对数组进行排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-20
        • 1970-01-01
        • 2018-12-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2013-03-11
        相关资源
        最近更新 更多