php二維數組指定鍵名排序的實現方法

來源:互聯網
上載者:User
這篇文章主要介紹了PHP實現二維數組按指定的鍵名排序的方法,這裡以數組記錄三個人資訊中的年齡age欄位值進行排序為例,分析了php二維數組排序的操作技巧,需要的朋友可以參考下

本文執行個體講述了PHP實現二維數組按指定的鍵名排序的方法。分享給大家供大家參考,具體如下:

<?php/*二維數組按指定的索引值排序*/function array_sort($array,$keys,$type='asc'){  if(!isset($array) || !is_array($array) || empty($array)){    return '';  }  //排序欄位名,如:id  if(!isset($keys) || trim($keys)==''){    return '';  }  //排序方式,如:desc、asc  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]);    //將記錄中指定的鍵名放入數組中,如:[0]=>5,[1]=>3,[2]=>6    $keysvalue[] =$val[$keys];//排序欄位,如:id     索引=》排序鍵名  }  asort($keysvalue); //按值升序排序,且保持鍵名與索引值之間的索引關係,如:[1]=>3,[0]=>5,[2]=>6  reset($keysvalue); //指標重新指向數組第一個  foreach($keysvalue as $key=>$vals) {    $keysort[] = $key;//0=>[1],1=>[0],2=>[2]  }  $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<$count; $i++){      $keysvalue[] = $array[$keysort[$i]];    }  }  return $keysvalue;}$array=array(  array('name'=>'Tom','age'=>'23','like'=>'beer'),  array('name'=>'Trump','age'=>'50','like'=>'Food'),  array('name'=>'Jack','age'=>'26','like'=>'Travel'));print_r(array_sort($array,'age'));?>

運行結果:

Array(  [0] => Array    (      [name] => Tom      [age] => 23      [like] => beer    )  [1] => Array    (      [name] => Jack      [age] => 26      [like] => Travel    )  [2] => Array    (      [name] => Trump      [age] => 50      [like] => Food    ))

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.