Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多维数组排序_Php_Sorting_Multidimensional Array - Fatal编程技术网

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_函数');

您使用的是什么语言?这是一个非常阴暗的链接。。。