我有一个基本数组
$base =array(
"A1" =array();
"A2" =array();
"A3" =array();
"A4" =array();
);
和条件数组将用于排序
$condition = array("A1" => "SORT_ASC",
"A4" => 'SORT_ASC',
"A3" => 'SORT_DESC'
);
我尝试创建一个这样的函数来返回一个array_multi_sort
function sort_by_condition($condition) {
return array_multisort(
$base['A1'], SORT_ASC, SORT_STRING,
$base['A4'], SORT_ASC,SORT_NUMERIC,
$base['A3'], SORT_DESC,SORT_NUMERIC,
$base['A2'],//default
);
}
但我不知道怎样才能归还这样的东西?
答案 0 :(得分:1)
您可能需要为数组multisort提供正确的数组键:
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
这是来自手册,但我认为你的例子会更像这样:
array_multisort( $base['A1'], SORT_ASC, SORT_STRING,
$base['A2'], SORT_ASC, SORT_NUMERIC,
etc...
);
我意识到你可能已经阅读了几次但是看到manual中的示例并尝试首先在函数之外使用它。祝好运! :)