这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 PHP 实现的自定义数组排序函数与排序类, 结合实例形式分析了 php 自定义二维数组排序函数与排序类的相关实现技巧, 需要的朋友可以参考下
本文实例讲述了 PHP 实现的自定义数组排序函数与排序类。分享给大家供大家参考,具体如下:
- /*
- * 二维数组自定义排序函数
- * 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/>';
- }
手册里的自定义排序类:
- 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;
- }
- }
希望本文所述对大家 PHP 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0803/341073.html