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

Benutzerdefinierte Array-Sortierfunktion und Sortierklasse, implementiert in PHP

墨辰丷
墨辰丷Original
2018-05-30 16:30:292306Durchsuche

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

Das Beispiel in diesem Artikel beschreibt die in PHP implementierte benutzerdefinierte Array-Sortierfunktion und Sortierklasse. Teilen Sie es als Referenz mit allen. 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;;
}

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;
   }
}

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


Verwandte Empfehlungen:

So implementieren Sie proportionale Skalierung und Logo-Wasserzeichen von Bildern in PHP

PHP implementiert die Methode zum Aufrufen von Mailgun zum Senden von E-Mails

PHP+jQuery implementiert die Scroll-Methode zum dynamischen Laden von Daten ohne Aktualisierung

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

Stellungnahme:
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