自定义规则排序数组的一个例子
2011-07-17 22:25
260 查看
/**
* Author:abel1314520@gmail.com
* My blog:http://blog.teamhaka.com
*
*/
需求:对css文件中内容的排列进行调整/* 待排序的字符串 */
$css_str = <<< HTML
a{background-color:#fff}
form{font-size:15px;}
p{color:red}
body{background-image:url(1.png);}
HTML;希望的顺序:$css_str = <<< HTMLbody{background-image:url(1.png);}
p{color:red}
a{background-color:#fff}
form{font-size:15px;}HTML;代码:
* Author:abel1314520@gmail.com
* My blog:http://blog.teamhaka.com
*
*/
需求:对css文件中内容的排列进行调整/* 待排序的字符串 */
$css_str = <<< HTML
a{background-color:#fff}
form{font-size:15px;}
p{color:red}
body{background-image:url(1.png);}
HTML;希望的顺序:$css_str = <<< HTMLbody{background-image:url(1.png);}
p{color:red}
a{background-color:#fff}
form{font-size:15px;}HTML;代码:
$tmp = split(“[\r\n]+”, $css_str); //转换成数组(待排序的数组) /* 确定排序规则(包含html的应该排在包含body的前面,当然后面也行) */ $arr_sort_rule = array(‘html’, ‘body’, ‘p’, ‘a’, ’span’, ‘form’); foreach($tmp as $v){ $r[] = array_search(preg_replace(‘/(\w+).*/is’, ‘$1′, $v), $arr_sort_rule); /*********************** $a = preg_replace(‘/(\w+).*/is’, ‘$1′, $v);//提取$css_str中每一行刚开头的字符串 array_search($a, $arr_sort_rule);//在排序规则数组中,查找$a,找到则返回排序规则数组中所对应的键 这样$r这个数组中的值就是一串数字了。 ************************/ } array_multisort($r, $tmp); //对$r的值进行排序的同时,将$tmp数组的值也一并排序(可以参见array_multisort函数), 从而达到按自定义的$r规则排序数组$tmp echo join(PHP_EOL, $tmp);
相关文章推荐
- 写一个函数对字符串数组进行排序,排序的规则是根据每个字符串中……
- 将一个list对象数组按照指定的规则排序
- 自定义一个List排序规则,然后对另一个List按照该规则排序
- 1.给出一个Person类里面包含姓名、年龄、成绩,声明5个Person对象数组,要求对数组中的内容进行排序,排序规则如下:按成绩由高到低排序,如果成绩一样,按年龄由高到低排序。
- 将一个长度不定数组按照自定义标准进行排序
- 把一个数字插入已排序的数组,插入后的数组依旧按原规则排序
- 求一个很大的数组(乱序)排序后从第i大到第j大之间的所有元素,并且这些元素之间要求有序
- 程序员面试金典: 9.11 排序与查找 11.1编写一个方法,对字符串数组进行排序,将所有变位词排在相邻的位置。
- 上机实践 - - 一个例子了解C/C++中指针与数组的区别
- 关于JSON的一个小小例子,数组的调用,和获值
- 第五章:自定义评分规则进行排序
- 将一个字符串数组中的字母按照以下规则排列
- 求一个已排序的数组中绝对值最小的元素
- 统计一个数字在排序数组中出现的次数
- 使用qsort排序一个整型数组,一个浮点型数组,一个字符串数组
- 7、Spark自定义排序规则
- 输入一个已经按升序排序过的数组和一个数字(14)
- List自定义排序 (例子省份排序)
- 一个未排序整数数组,有正负数,重新排列使负数排在正数前面,并且要求不改变原来的正负数之间相对顺序,比如: input: 1,7,-5,9,-12,15 ans: -5,-12,1,7,9,15 要求时
- 根据数组中其中的一个值排序