麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php對二維數組按指定鍵值key排序示例代碼

2024-09-04 11:47:01
字體:
來源:轉載
供稿:網友

對二維數組按指定鍵值key排序,對于一些新手朋友或許存在難度,下面為大家介紹下在php中時如何實現的,代碼如下:

  1. function array_sort($array$key){  
  2. if(is_array($array)){  
  3. $key_array = null;  
  4. $new_array = null;  
  5. for$i = 0; $i < count$array ); $i++ ){  
  6. $key_array[$array[$i][$key]] = $i;  
  7. }  
  8. ksort($key_array);  
  9. $j = 0;  
  10. foreach($key_array as $k => $v){  
  11. $new_array[$j] = $array[$v];  
  12. $j++;  
  13. //Vevb.com 
  14. unset($key_array);  
  15. return $new_array;  
  16. }else{  
  17. return $array;  
  18. }  
  19. }  

PHP二維數組按鍵值排序

PHP 中 array_multisort() 可以用來一次對多個數組進行排序,或者根據某一維或多維對多維數組進行排序。關聯鍵名保持不變,但數字鍵名會被重新索引。輸入數組被當成一個表的列并以行來排序,第一個數組是要排序的主要數組。數組中的行(值)比較為相同的話就按照下一個輸入數組中相應值的大小來排序,依此類推。

但是如果需要排序的數組是一個二維數組,需要按照數組的鍵值排序,如下面這個二維數組,需要按照sort鍵名來排序,那么array_multisort() 就無法直接實現了:

  1. $data[5] = array('volume' => 67, 'edition' => 2);$data[4] = array('volume' => 86, 'edition' => 1);$data[2] = array('volume' => 85, 'edition' => 6);$data[3] = array('volume' => 98, 'edition' => 2);$data[1] = array('volume' => 86, 'edition' => 6);$data[6] = array('volume' => 67, 'edition' => 7);// 準備要排序的數組foreach ($data as $k => $v) {  $edition[] = $v['edition'];}array_multisort($edition, SORT_ASC, $data);print_r($data);  

將輸出:

  1. Array(  [0] => Array    (      [volume] => 86      [edition] => 1    )   [1] => Array    (      [volume] => 67      [edition] => 2    )   [2] => Array    (      [volume] => 98      [edition] => 2    )   [3] => Array    (      [volume] => 85      [edition] => 6    )   [4] => Array    (      [volume] => 86      [edition] => 6    )   [5] => Array    (      [volume] => 67      [edition] => 7    ) )  

為了不破壞原有的key,寫了一個排序函數,僅支持二維數組。

  1. /*** 根據數組中的某個鍵值大小進行排序,僅支持二維數組* * @param array $array 排序數組* @param string $key 鍵值* @param bool $asc 默認正序* @return array 排序后數組*/function arraySortByKey(array $array$key$asc = true) {  $result = array();  // 整理出準備排序的數組  foreach ( $array as $k => &$v ) {    $values[$k] = isset($v[$key]) ? $v[$key] : '';  }  unset($v);  // 對需要排序鍵值進行排序  $asc ? asort($values) : arsort($values);  // 重新排列原有數組  foreach ( $values as $k => $v ) {    $result[$k] = $array[$k];  }    return $result;}  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久久久免 | 午夜精品毛片 | 91av日韩 | 国产精品久久久久影院老司 | 免费色片 | 久久久久久高清 | 久久精品久久精品国产大片 | 欧美日韩影视 | 久久久成人精品视频 | 黄色网址免费进入 | 福利在线小视频 | 国产午夜精品久久久久 | av在线免费网址 | 亚洲精品a在线观看 | 国产精品99久久久久久大便 | 免费在线观看成年人视频 | 欧美乱码精品一区 | 国产九色在线播放九色 | 中文字幕在线观看视频一区 | 久久性生活免费视频 | 国内精品久久久久影院不卡 | 亚洲视频欧美 | 欧美日韩一 | 久草欧美| 久久精品亚洲国产奇米99 | 羞羞视频在线免费 | 激情视频日韩 | 日韩三区视频 | 意大利av在线 | 羞羞视频免费入口网站 | 中文字幕在线视频日本 | 国产午夜探花 | 亚洲第一成人在线观看 | 沉沦的校花奴性郑依婷c到失禁 | 欧美三级短视频 | 成人午夜久久 | 一级@片| 国产精品久久久久久238 | 久久成人黄色 | 亚洲精品久久久久久久久久 | 国产91精品亚洲精品日韩已满 |