我想对多维数组值进行从非null到null的排序。我想对我的多维数组进行排序,如果地址字段(如街道、邮政编码)为空,那么它们应该显示在最后一页。请帮帮我。提前谢谢。
function array_sort($array, $on, $order=SORT_ASC) {
$new_array = array();
$sortable_array = array();
if (count($array) > 0) {
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach ($v as $k2 => $v2) {
if ($k2 == $on) {
$sortable_array[$k] = $v2;
}
}
} else {
$sortable_array[$k] = $v;
}
}
switch ($order) {
case SORT_ASC:
asort($sortable_array);
break;
case SORT_DESC:
arsort($sortable_array);
break;
}
foreach ($sortable_array as $k => $v) {
$new_array[$k] = $array[$k];
}
}
return $new_array;
}
类似的东西对我来说很管用(或多或少的副本粘贴自http://php.net/manual/en/function.sort.php)
我不确定PHP,但通常我会说,你需要对数组进行切片,以便将null
集与非null
集分开,然后根据你的标准对非null
集进行排序,然后将其与null
集合并。