Php 多维数组排序
我有以下数组,我想按值对数组进行排序Php 多维数组排序,php,sorting,multidimensional-array,Php,Sorting,Multidimensional Array,我有以下数组,我想按值对数组进行排序 ( [bwin] => Array ( [0] => Array ( [bookie] => bwin [id_bookie] => 178537 [value] => 6.00 [betty
(
[bwin] => Array
(
[0] => Array
(
[bookie] => bwin
[id_bookie] => 178537
[value] => 6.00
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => bwin
[id_bookie] => 178537
[value] => 1.45
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => bwin
[id_bookie] => 178537
[value] => 4.50
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[NordicBet] => Array
(
[0] => Array
(
[bookie] => NordicBet
[id_bookie] => 201581
[value] => 5.75
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => NordicBet
[id_bookie] => 201581
[value] => 1.50
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => NordicBet
[id_bookie] => 201581
[value] => 4.30
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[Canbet] => Array
(
[0] => Array
(
[bookie] => Canbet
[id_bookie] => 176582
[value] => 5.60
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => Canbet
[id_bookie] => 176582
[value] => 1.56
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => Canbet
[id_bookie] => 176582
[value] => 3.80
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[Expekt] => Array
(
[0] => Array
(
[bookie] => Expekt
[id_bookie] => 235615
[value] => 5.60
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => Expekt
[id_bookie] => 235615
[value] => 1.50
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => Expekt
[id_bookie] => 235615
[value] => 4.25
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[StanJames] => Array
(
[0] => Array
(
[bookie] => StanJames
[id_bookie] => 243649
[value] => 5.50
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => StanJames
[id_bookie] => 243649
[value] => 1.53
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => StanJames
[id_bookie] => 243649
[value] => 4.00
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[Gamebookers] => Array
(
[0] => Array
(
[bookie] => Gamebookers
[id_bookie] => 203620
[value] => 5.00
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => Gamebookers
[id_bookie] => 203620
[value] => 1.50
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => Gamebookers
[id_bookie] => 203620
[value] => 4.25
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
[Tipp3] => Array
(
[0] => Array
(
[bookie] => Tipp3
[id_bookie] => 292604
[value] => 4.10
[bettype] => 3way
[line] => 0.0
[bet] => 1
)
[1] => Array
(
[bookie] => Tipp3
[id_bookie] => 292604
[value] => 1.50
[bettype] => 3way
[line] => 0.0
[bet] => 2
)
[2] => Array
(
[bookie] => Tipp3
[id_bookie] => 292604
[value] => 3.40
[bettype] => 3way
[line] => 0.0
[bet] => x
)
)
)
这是未排序的数组输出,但我想对行为2的数组进行排序,但行会发生变化,有时我必须对行为x或1的数组进行排序
PHP在处理多维数组方面相当粗糙。在页面上的评论中有许多解决方案,将它们全部发布在这里是非常多余的。。。通读它们,尝试其中一些,看看你喜欢哪一个。这些数据看起来是用制表符分隔的。如果是这样,请根据制表符拆分每行并将其存储在数组中。从那以后,要么扔掉空的细胞,那都是微不足道的。一个自定义排序函数,它接受这些数组的一个数组,以及要排序的列的一个int(表示列编号的索引),从这里也应该很容易做到。您可以使用。这里有一个小片段。在这个函数中,你可以做很多你想做的事情
function sorting_function($x, $y)
{
if ($x['value'] == $y['value'])
return 0;
else if ($x['value'] < $y['value'])
return -1;
else
return 1;
}
usort($table_array, 'sorting_function');
函数排序\函数($x,$y)
{
如果($x['value']=$y['value']))
返回0;
如果($x['value']<$y['value']),则为else
返回-1;
其他的
返回1;
}
usort($table_数组,'sorting_函数');
您使用的是什么语言?这是一个非常阴暗的链接。。。