将php的数组按照字符串长短进行排序

开发 后端
PHP数组按字符串长短排序对于初级PHP学员来说还不是非常熟悉。我们在接下来的文章中给出了具体的实现方法,仅供大家参考。

如果想在PHP编程中对数组进行操作,可以用到有关的PHP数组函数来达到自己的需求。今天我们将为大家介绍的时候有关PHP数组按字符串长短排序的实现方法。

#t#需求分析:让搜索出结果中将相关度高(关键字所占比例大的结果排在前面)。比如你搜索“红”这个关键字,那么《红》这部动漫在结果中的排序就要大于《小红帽》,因为它的关键字比率大。于是就产生了一个特殊的需求,给出一个php的数组,内容都是字符串,需要按照字符串的长短重新进行一次排序。php提供的数组函数只能按照英文顺序这样的排序,于是google一下,发现了解决方案,就是使用PHP的自定义排序函数usort。

  1. bool usort ( array & $array ,
     callback $cmp_function )  

其实PHP数组按字符串长短排序的方法就像以前计算机课程学习的冒泡排序法,它接受两个参数,第一个是要排序的数组,第二个是回调函数,就是排序的条件。usort相当于一个递归,根据条件的返回值来判断是否将两个邻近的数组(如$a,$b)进行对调,达到了排序的目的。如果根据冒泡排序法,这个条件就是$a>$b这样的。那么如果是要根据字符串长短,那么就是strlen($a)-$strlen($b)这样的格式了。自己写callback函数,可以完成各种各样诡异的排序来。那么,CoCo现在的代码就可以这样写了:

  1. $aS = array('aaa', 'aa', 'aaaa', 'aaaaa');   
  2. $F = create_function('$a, $b', 
    'return(strLen($a) 
    > strLen($b))');   
  3. usort($aS, $F);  

希望通过以上介绍的PHP数组按字符串长短排序的实现方法,大家能够充分掌握这一技巧。

责任编辑:曹凯 来源: acwind.net
相关推荐

2009-11-25 09:13:41

PHP数组转字符串PHP字符串转数组

2009-11-16 17:59:13

PHP数组转字符串

2009-11-25 16:55:45

PHP函数explod

2021-01-30 15:41:12

字符串功能绑定

2009-12-01 10:38:08

PHP字符串函数

2009-11-27 10:24:25

PHP字符串操作

2009-11-30 14:08:42

PHP字符串原理

2009-12-11 13:16:04

PHP查询字符串

2009-08-07 14:15:21

C#字符串分割

2009-11-26 18:36:52

PHP函数sprint

2009-11-26 13:11:24

PHP字符串

2009-12-01 09:18:50

PHP分割字符串

2010-04-27 12:19:57

Unix字符串

2009-11-24 09:55:44

PHP字符串函数

2010-07-14 16:21:48

Perl

2009-11-26 16:26:32

PHP字符串mbstr

2010-11-26 11:08:20

MySQL字符串

2009-11-30 18:26:06

PHP字符串替换

2009-11-18 12:38:04

PHP字符串函数

2009-11-24 17:45:47

PHP数组排序函数ar
点赞
收藏

51CTO技术栈公众号