Heim > Backend-Entwicklung > PHP-Tutorial > Benutzerdefinierte Array-Sortierfunktion und Sortierklassenmethode, implementiert in PHP

Benutzerdefinierte Array-Sortierfunktion und Sortierklassenmethode, implementiert in PHP

墨辰丷
Freigeben: 2023-03-28 14:36:01
Original
1733 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die in PHP implementierten benutzerdefinierten Array-Sortierfunktionen und Sortierklassen vorgestellt und die zugehörigen Implementierungsfähigkeiten der benutzerdefinierten zweidimensionalen Array-Sortierfunktionen und -Sortierklassen von PHP anhand von Beispielen analysiert

Die Details lauten wie folgt:


/*
* 二维数组自定义排序函数
* uasort($arr,function_name)
*
**/
$arr = array(
  array('a'=>1,'b'=>'c'),
  array('a'=>4,'b'=>'a'),
  array('a'=>5,'b'=>'g'),
  array('a'=>7,'b'=>'f'),
  array('a'=>6,'b'=>'e')
);
function compare_arr($x,$y){
  if($x[&#39;b&#39;]<$y[&#39;b&#39;]){
    return -1;
  }else if($x[&#39;b&#39;]>$y[&#39;b&#39;]){
    return 1;
  }else{
    return 0;
  }
}
uasort($arr,&#39;compare_arr&#39;);
foreach($arr as $a){
  echo $a[&#39;a&#39;].&#39;=>&#39;.$a[&#39;b&#39;].&#39;<br/>&#39;;
}
Nach dem Login kopieren


Benutzerdefinierte Sortierklasse im Handbuch:


class multiSort
{
   var $key;  //key in your array
   //排序函数 参数依次是 数组 待排列索引 排序类型
   function run ($myarray, $key_to_sort, $type_of_sort = &#39;&#39;)
   {
     $this->key = $key_to_sort;
     if ($type_of_sort == &#39;desc&#39;)
       uasort($myarray, array($this, &#39;myreverse_compare&#39;));
     else
       uasort($myarray, array($this, &#39;mycompare&#39;));
     return $myarray;
   }
   //正序
   function mycompare($x, $y)
   {
     if ( $x[$this->key] == $y[$this->key] )
       return 0;
     else if ( $x[$this->key] < $y[$this->key] )
       return -1;
     else
       return 1;
   }
   //逆序
   function myreverse_compare($x, $y)
   {
     if ( $x[$this->key] == $y[$this->key] )
       return 0;
     else if ( $x[$this->key] > $y[$this->key] )
       return -1;
     else
       return 1;
   }
}
Nach dem Login kopieren



Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

Detaillierte Erklärung zum Speichern/Speichern von PHPSession in Redis

phpSo erhalten Sie Parameter im CLI-Modus

phpSo finden Sie Array-Elemente zur Verbesserung der Effizienz


Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Array-Sortierfunktion und Sortierklassenmethode, implementiert in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage