函數代碼:
function array_sort($array,$keys,$type=’asc’){
if(!isset($array) || !is_array($array) || empty($array)){
return ”;
}
if(!isset($keys) || trim($keys)==”){
return ”;
}
if(!isset($type) || $type==” || !in_array(strtolower($type),array(‘asc’,’desc’))){
return ”;
}
$keysvalue=array();
foreach($array as $key=>$val){
$val[$keys] = str_replace(‘-‘,”,$val[$keys]);
$val[$keys] = str_replace(‘ ‘,”,$val[$keys]);
$val[$keys] = str_replace(‘:’,”,$val[$keys]);
$keysvalue[] =$val[$keys];
}
asort($keysvalue); //key值排序
reset($keysvalue); //指針重新指向數組第一個
foreach($keysvalue as $key=>$vals) {
$keysort[] = $key;
}
$keysvalue = array();
$count=count($keysort);
if(strtolower($type) != ‘asc’){
for($i=$count-1; $i>=0; $i–) {
$keysvalue[] = $array[$keysort[$i]];
}
}else{
for($i=0; $i
$keysvalue[] = $array[$keysort[$i]];
}
}
return $keysvalue;
}
例如有下列這樣一個數組:
$array=array(
0=>array(‘id’=>8,’username’=>’phpernote’),
1=>array(‘id’=>9,’username’=>’com’),
2=>array(‘id’=>5,’username’=>’www’)
);
現在需要将這個二維數組按id升序排列,則:
array_sort($array,’id’,’asc’);