$sort_array = array(
"array1" => array(
'word'=>'test1',
'sortnumber'=>1,
),
'array3'=>array(
'word'=>'test4',
'sortnumber'=>4,
),
'array2'=>array(
'word'=>'test3',
'sortnumber'=>3,
),
'array5'=>array(
'word'=>'test5',
),
'array4'=>array(
'word'=>'test2',
'sortnumber'=>2,
),
);
// 自定义排序函数
function my_sort($a,$b){
$prev = isset($a['sortnumber']) ? $a['sortnumber'] : 0;
$next = isset($b['sortnumber']) ? $b['sortnumber'] : 0;
if($prev == $next)return 0;
return ($prev<$next) ? -1 : 1;
}
echo '<pre>排序前:<br>';
print_r($sort_array);
uasort($sort_array, "my_sort");
echo "排序后:<br>";
print_r ($sort_array);
注意:自定义的函数要使用isset检测下需要排序的字段是否存在如不存在赋个默认的0;
$a与$b 是数组中的两个元素 根据自己需求比较大小。大则返回 :1 ; 相等: 0 ;小: -1
1326

被折叠的 条评论
为什么被折叠?



