按键值排序的PHP顺序数组
我知道以前有人贴过,但我无法让它为我工作:it’我不知道为什么!但无论如何,我的array$服务器看起来是这样的按键值排序的PHP顺序数组,php,arrays,sorting,Php,Arrays,Sorting,我知道以前有人贴过,但我无法让它为我工作:it’我不知道为什么!但无论如何,我的array$服务器看起来是这样的 Array ( [0] => Array ( [0] => Dell PowerEdge R210 II [1] => 8 [2] => Array ( [0] => 8
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
)
)
)
我希望重新安排阵列并将其放回$servers中,但顺序为$servers[x][1]
所以,当单数为(第一个对象是8)时,我希望它以最小的数字第一次排序,移动到最大
非常感谢
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];
}
仔细阅读。手册中也有一些很好的例子。您的
cmp
函数需要检查$a[1]
与$b[1]
的值。