【问题标题】:Sort single dimensional array & keep keys & values relation对一维数组进行排序并保持键值关系
【发布时间】:2013-11-14 09:27:30
【问题描述】:

我有一个数组,keyvalue 都像 string 一样

 $myArr = array(
     'ball'=>'zebra', 
     'tree'=>'plant', 
     'zoo'=>'animal' );

我需要 sort array 通过它的 values 并保持 key, value 关联,所以输出会像

 $sortedArr = array(
     'zoo'=>'animal', 
     'tree'=>'plant', 
     'ball'=>'zebra' ); 

我正在寻找最短和最聪明的解决方案来实现这一目标,如果你有这个解决方案,请与我分享。

【问题讨论】:

标签: php arrays sorting


【解决方案1】:

看看asort

$myArr = array('ball'=>'zebra', 'tree'=>'plant', 'zoo'=>'animal');
asort($myArr);

echo print_r($myArr, TRUE);

结果:

Array
(
    [zoo] => animal
    [tree] => plant
    [ball] => zebra
)

【讨论】:

    【解决方案2】:

    Ramesh,你也可以试试这个。

    function csort($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
    }
    $myArr = array('ball'=>'zebra', 'tree'=>'plant', 'zoo'=>'animal');
    uasort($myArr, 'csort');
    print_r($myArr);
    exit;
    

    【讨论】:

      【解决方案3】:

      您可以使用此处列出的任何内置 php 函数 http://php.net/manual/en/array.sorting.php

      各种按值排序并保持键关联

      【讨论】:

        【解决方案4】:

        我找到了解决方案。

        asort($myArr);
        

        【讨论】:

          猜你喜欢
          • 2013-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多