按订单排序的PHP订单数组
问题描述:
我知道这已经发布过,但我无法让它为我工作:不知道为什么!但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");
?>
但它没有似乎工作!
谢谢
答
您的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];
}
上[PHP multisort(http://php.net/manual/en/function.array阅读起来-multisort.php)。手册中也有一些很好的例子。 – Doa 2012-07-18 16:59:15
你的'cmp'函数需要检查'$ a [1]'与'$ b [1]'的值。 – 2012-07-18 17:02:26