2012-07-18 118 views
0

我知道这已经发布过,但我无法让它为我工作:不知道为什么!但anywhooo我的数组$服务器看起来像这样按订单排序的PHP订单数组

Array 
(
    [0] => Array 
     (
      [0] => Dell PowerEdge R210 II 
      [1] => 8 
      [2] => Array 
       (
        [0] => 8 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Dell PowerEdge R210 II 2 
      [1] => 2 
      [2] => Array 
       (
        [0] => 2 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

    [2] => Array 
     (
      [0] => Dell PowerEdge R210 II 3 
      [1] => 3 
      [2] => Array 
       (
        [0] => 3 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

    [3] => Array 
     (
      [0] => Dell PowerEdge R210 II 4 
      [1] => 4 
      [2] => Array 
       (
        [0] => 4 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

    [4] => Array 
     (
      [0] => Dell PowerEdge R210 II 5 
      [1] => 5 
      [2] => Array 
       (
        [0] => 5 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

    [5] => Array 
     (
      [0] => Dell PowerEdge R210 II 6 
      [1] => 6 
      [2] => Array 
       (
        [0] => 6 
        [1] => Sock 
        [2] => Price 
        [3] => ImageURL 
        [4] => CPU 
        [5] => Memory 
        [6] => HDD 
        [7] => Bandwidth 
        [8] => OS 
        [9] => Upgrades 
        [10] => OrderLink 
       ) 

     ) 

) 

我想有数组安排再和放回$服务器,但在$为了服务器[X] [1]

所以单数是(第一个对象是8)我希望它用最小的数字1排序,移动到最大!

非常感谢

PS我想这

<?php 
function cmp($a, $b) 
{ 
    if ($a == $b) { 
     return 0; 
    } 
    return ($a < $b) ? -1 : 1; 
} 

$a = array(3, 2, 5, 6, 1); 

usort($servers, "cmp"); 
?> 

但它没有似乎工作!

谢谢

+2

上[PHP multisort(http://php.net/manual/en/function.array阅读起来-multisort.php)。手册中也有一些很好的例子。 – Doa 2012-07-18 16:59:15

+0

你的'cmp'函数需要检查'$ a [1]'与'$ b [1]'的值。 – 2012-07-18 17:02:26

回答

1

您的cmp是错误的。 $a$b就像

Array 
    (
     [0] => Dell PowerEdge R210 II 6 
     [1] => 6 
     [2] => Array 
      (
       [0] => 6 
       [1] => Sock 
       [2] => Price 
       [3] => ImageURL 
       [4] => CPU 
       [5] => Memory 
       [6] => HDD 
       [7] => Bandwidth 
       [8] => OS 
       [9] => Upgrades 
       [10] => OrderLink 
      ) 

    ) 

阵列和您必须比较$a[1]$b[1]

function cmp($a, $b) { 
    return $a[1] - $b[1]; 
}