php字符串排序-PHP形参按照字符串长度排序 – 个人文章 – SegmentFault 思否

如果要分析需求:让搜索结果高度相关(关键词比例大的结果排在后面)。 例如,如果搜索关键字“红色”php字符串排序,则漫画“红色”在结果中的排名会低于“小红帽”,因为其关键字百分比更大。 那么就形成了一个特殊的需求,给定一个php链表,内容都是字符串,需要根据字符串的长度再次排序。 php提供的链表功能只能按照中文顺序排序,于是我google了一下,找到了解决方案php字符串排序,就是使用PHP的自定义排序函数usort。

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

其实PHP链表是按照字符串的长度来排序的,和之前计算机课程中学习的冒泡排序方法是一样的。 它接受两个参数,第一个是要排序的字段,第二个是回调函数,即排序条件。 usort相当于一次递归,根据条件的返回值来判断是否交换两个相邻字段(如$a、$b)以达到排序的目的。 根据冒泡排序法,这个条件是$a>$b。 所以如果你想跟踪字符串的长度,那么格式是strlen($a)-$strlen($b)。 自己写回调函数,可以完成各种奇怪的排序。 那么,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字符串排序_实现字符串排序_字符串排序pta

trueTechArticle 如果要分析需求:让搜索结果高度相关(关键词比例大的结果排在后面)。 例如,如果您搜索关键字“red”,则漫画“Red”位于...