- /*
- 関数: 指定されたキー値で 2 次元配列をソートします
- $array=array(
- 0=>array('id'=>8,'username'=>'phpernote' ),
- 1=>array('id'=>9,'username'=>'com'),
- 2=>array('id'=>5,'username'=>' www' )
- );
-
- 次に、この 2 次元配列を ID で昇順に並べ替える必要があります。
-
- array_sort($array,'id','asc');
-
- */
- public function array_sort ($array,$keys ,$type='asc'){
- if(!isset($array) || !is_array($array) || empty($array)){
- return '';
- }
- if (!isset($keys ) || トリム($keys)==''){
- return '';
- }
- if(!isset($type) || $type=='' || !in_array(strto lower ($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) //キー値の並べ替え
- replace($keysvalue); // ポインタを配列の最初のポインタに再ポイントします
- foreach($keysvalue as $key=>$vals) {
- $keysort[] = $key;
- }
- $keysvalue = array( );
- $count=count($ keysort);
- if(strto lower($type) != 'asc'){
- for($i=$count-1; $i>=0; $i--) {
- $keysvalue[] = $array[ $keysort[$i]];
- }
- }else{
- for($i=0; $i $keysvalue[] = $array[ $keysort[$i]];
- }
- }
- return $keysvalue;
- }
コードをコピー
|