有一个数组$a = array('3','8','1','4','11','7');请把数组中的各元素进行有序的排序 【雅座在线】一数组 $target = array(23,43,87,12,34,46,90,42,9,3);要求对其进行排序,最终的顺序是 第一个是最大的,第二个是最小的,第三个是剩下的最大的,第四个是剩下的最小的,依次类推。

解决方案 »

  1.   

    $target = array(23,43,87,12,34,46,90,42,9,3);
    rsort($target);$res = array();
    $i = 0;
    while($target) {
      $res[] = $i++ % 2 ? array_pop($target) : array_shift($target);
    }
    print_r($res); Array
    (
        [0] => 90
        [1] => 3
        [2] => 87
        [3] => 9
        [4] => 46
        [5] => 12
        [6] => 43
        [7] => 23
        [8] => 42
        [9] => 34
    )