Maison > Article > développement back-end > Fonction de tri de tableau personnalisé et méthode de classe de tri implémentées en PHP
Cet article présente principalement la fonction de tri de tableaux personnalisés et la classe de tri implémentées dans PHP, et analyse les compétences d'implémentation associées de la fonction de tri de tableaux bidimensionnels personnalisés de PHP et de la classe de tri sous forme d'exemples. Les amis dans le besoin peuvent s'y référer.
Les détails sont les suivants :
/* * 二维数组自定义排序函数 * 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['b']<$y['b']){ return -1; }else if($x['b']>$y['b']){ return 1; }else{ return 0; } } uasort($arr,'compare_arr'); foreach($arr as $a){ echo $a['a'].'=>'.$a['b'].'<br/>'; }
Classe de tri personnalisée dans le manuel :
class multiSort { var $key; //key in your array //排序函数 参数依次是 数组 待排列索引 排序类型 function run ($myarray, $key_to_sort, $type_of_sort = '') { $this->key = $key_to_sort; if ($type_of_sort == 'desc') uasort($myarray, array($this, 'myreverse_compare')); else uasort($myarray, array($this, 'mycompare')); 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; } }
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde étude.
Recommandations associées :
Explication détaillée de la façon de stocker/stocker PHPSession dans Redis
phpComment obtenir les paramètres en mode cli
phpComment trouver des éléments de tableau pour améliorer l'efficacité
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!