Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

PHP排序多维数组

PHP排序多维数组,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,我怎样才能先按会员id排序,然后按付款日期排序 Array ( [240] => Array ( [Member] => Array ( [id] => 112 ) [Payment] => Array ( [date] =&

我怎样才能先按会员id排序,然后按付款日期排序

Array
(
    [240] => Array
        (
            [Member] => Array
                (
                    [id] => 112
                )

            [Payment] => Array
                (
                    [date] => 0712


)
    )

我尝试使用multisort,但我从未找到一种有效的方法,而且我找到的所有示例都没有我的附加级别。

如果数据是从数据库接收的,您可以使用
。。。按成员排序,日期日期是字符串还是整数

无论如何,假设该日期为int,您可以尝试以下方法:

function my_sort($val1, $val2) {
    $compare_id = $val1['Member']['id'] - $val2['Member']['id'];
    if($compare_id == 0) {
        return $val1['Payment']['date'] - $val2['Payment']['date'];
    }
    else return $compare_id;
}
然后打电话:

usort($array, 'my_sort');

而且,从外观上看,您正在使用CakePHP?您只需将这些内容包括在您的数组中(与“条件”处于同一级别),请参阅以下文章: