利用PHP函数进行二维数组排序

前几天说了一个二维数组快速排序的方法,后来查了一下PHP手册,发现有两个函数配合能做出更好的排序来。 array_multisort -- 对多个数组或多维数组进行排序,配合array_slice可应现分页

<?php $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 1); $data[] = array('volume' => 85, 'edition' => 6); $data[] = array('volume' => 98, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 6); $data[] = array('volume' => 67, 'edition' => 7);

foreach($data as $k=>$v){

    $orderby[$k]=$v['valume'];//你想按哪一列值进行排序就写上哪一列

}

if($descorasc=='desc'){

    array_multisort($orderby,SORT_DESC,$data);//

}elseif($descorasc=='acs'){

    array_multisort($orderby,SORT_ASC,$data);

}

//如果配合array_slice的话可实现分页显示

$page=isset($page)?$page:1;

$pagesize=isset($pagesize)?$page:3;

$data=array_slice($data,($page-1)*$pagesize,$pagesize);

?>

你可能感兴趣的:(PHP)