幾個數組的排序方法
阿新 • • 發佈:2017-08-18
_array for tmp 一鍵 字符串長度 turn -- style type
1.對數組進行某一鍵值的排序
function array_sort($arr,$keys,$type = ‘asc‘){ if (empty($arr)) return $arr; $keysvale = $newq_array = array(); foreach($arr as $k=>$v){ $keysvale[$k] = $v[$keys]; } if ($type == ‘asc‘){ asort($keysvale); }else{ arsort($keysvale); } reset($keysvale); foreach($keysvale as $k=>$v){ $newq_array[$k] = $arr[$k]; } return $newq_array; }
2.根據數組字符串長度冒泡排序
//數組冒泡排序 function bubble_sort_by_length($array){ $count = count($array); if ($count <= 0){ return $array; } for($i = 0;$i< $count;$i++){ for($k = $count-1;$k > $i;$k--){ if(strlen($array[$k]) > strlen($array[$k-1])){ $tmp = $array[$k]; $array[$k] = $array[$k-1]; $array[$k-1] =$tmp; } } } return $array; }
3.根據數組裏面的兩個key來進行冒泡排序
//數組冒泡排序 function bubble_sort_by_key($array,$key,$key_2,$type=‘asc‘,$type_2=‘asc‘){ $count = count($array); if ($count <= 0 || empty($array)){ return array(); } if ($type == ‘asc‘) { for ($i = 0; $i < $count; $i++) { for ($k = $count - 1; $k > $i; $k--) { if ($array[$k][$key] < $array[$k - 1][$key]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } if ($array[$k][$key] == $array[$k - 1][$key]) { if ($type_2 == ‘asc‘) { if ($array[$k][$key_2] < $array[$k - 1][$key_2]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } }else{ if ($array[$k][$key_2] > $array[$k - 1][$key_2]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } } } } } }else{ for ($i = 0; $i < $count; $i++) { for ($k = $count - 1; $k > $i; $k--) { if ($array[$k][$key] > $array[$k - 1][$key]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } if ($array[$k][$key] == $array[$k - 1][$key]) { if ($type_2 == ‘asc‘) { if ($array[$k][$key_2] < $array[$k - 1][$key_2]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } }else{ if ($array[$k][$key_2] > $array[$k - 1][$key_2]) { $tmp = $array[$k]; $array[$k] = $array[$k - 1]; $array[$k - 1] = $tmp; } } } } } } return $array; }
幾個數組的排序方法