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.
L'exemple de cet article décrit la fonction de tri de tableau personnalisé et la classe de tri implémentées en PHP. Partagez-le avec tout le monde pour votre référence, 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é 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 représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Comment implémenter la mise à l'échelle proportionnelle et le filigrane de logo des images en PHP
PHP implémente la méthode d'appel de Mailgun pour envoyer des e-mails
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!