将php的数组按照字符串长短进行排序
创始人
2024-06-13 10:41:32
0次

如果想在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数组按字符串长短排序的实现方法,大家能够充分掌握这一技巧。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...