$data = [
[
'id'=>1,
'title'=>'test内容管理系统',
],
[
'id'=>2,
'title'=>'开源test',
],
[
'id'=>3,
'title'=>'test轻量级开源内容管理系统',
],
[
'id'=>4,
'title'=>'内容管理系统',
],
[
'id'=>5,
'title'=>'免费内容管理系统',
],
[
'id'=>6,
'title'=>'TEST',
],
[
'id'=>7,
'title'=>'免费test',
],
[
'id'=>8,
'title'=>'轻量级开源test',
],
[
'id'=>9,
'title'=>'tesT建站CMS',
],
[
'id'=>10,
'title'=>'免费开源test',
],
];

  上面是原数据。现在接到需求,需要搜索时,匹配的相识度越高,排在越前面。

function similar_arr($array, $keyword, $arr_key = 'title'){
//数组key小于3,直接返回,不符合排序要求(特例,可不写)
//if(count($array)<= 3){
// return $array;
//} //数组相似度处理
foreach ($array as $key => $value) {
similar_text($value[$arr_key], $keyword, $percent);
$value['percent'] = $percent;
$data[] = $value; } //取出数组中percent的一列,返回一维数组
$percent = array_column($data, 'percent'); //排序,根据 percent 排序
array_multisort($percent, SORT_DESC, $data);
return $data;
} $res = similar_arr($data, 'YzmCMS');
var_dump($res); 得到想要的结果: Array
(
[0] => Array
(
[work_id] => 156075645309713479
[work_name] => test
[open_id] => DalI5=382UyRck37Nomk
[face_pic] => http://zk-new-designer.oss-cn-beijing.aliyuncs.com/a267a2889910dc5713d5b2fe35d68139.png
[classify_1] => 1
[classify_2] => 3
[classify_3] => 18
[view_num] => 0
[comment_num] => 0
[like_num] => 0
[is_recommend] => 1
[step] => 0
[status] => 2
[create_time] => 2019-06-17 15:28:34
[is_del] => 0
[recommend_level] => A
[recommend_level_val] => 3
[classify_1_name] => 原创
[classify_2_name] => 平面
[classify_3_name] => 品牌
[user_info] => Array
(
[open_id] => DalI5=382UyRck37Nomk
[username] => KALI落落
[sex] => 1
[vocation] => 学生
[avatar] => http://res.shiquaner.zookingsoft.com/08308f0ea288b09507b06e9d0d69221e.png
[country] => 中国
[province] => 广东省
[city] => 惠州市
[personal_sign] => 路漫漫其修远兮
[work_num] => 34
[fans_num] => 16
[follow_num] => 15
[create_time] => 2019-05-08 15:25:11
[recommend_level_val] => 3
[email] => 450049593@qq.com
[situation] => 我是工作室/公司负责人
[work_experience] => 10-40小时
[design_experience] => 4年
[preference_classify] => 插图
[style] => 极简,扁平,风景
[field] => 日化用品,医疗,传媒,快消
[is_completed] => 1
[follow_flag] => 0
[report_num] => 0
[popular_num] => 1752
) ) [1] => Array
(
[work_id] => 157691016902
[work_name] => TEST
[open_id] => 155425957361222343
[face_pic] => http://res.shiquaner.zookingsoft.com/0fdccdc672c436b38b747f9444d261b7.png
[classify_1] => 1
[classify_2] => 3
[classify_3] => 18
[view_num] => 20
[comment_num] => 0
[like_num] => 0
[is_recommend] => 1
[step] => 1
[status] => 2
[create_time] => 2019-12-21 14:36:39
[is_del] => 0
[recommend_level] => S
[recommend_level_val] => 4
[classify_1_name] => 原创
[classify_2_name] => 平面
[classify_3_name] => 品牌
[user_info] => Array
(
[open_id] => 155425957361222343
[username] => TEST.JD
[sex] => 2
[vocation] => 插画师
[avatar] => http://zk-web-object.oss-cn-qingdao.aliyuncs.com/df54eab7631346a7208b54a65fb1918b.png
[country] => 中国
[province] => 广东省
[city] => 深圳市
[personal_sign] =>
[work_num] => 6
[fans_num] => 7
[follow_num] => 11
[create_time] => 2019-04-03 10:46:13
[recommend_level_val] => 4
[email] =>
[flag] => 2
[is_completed] => 0
[follow_flag] => 0
[report_num] => 0
[popular_num] => 233
) ) [2] => Array
(
[work_id] => 156075769955593473
[work_name] => test
[open_id] => DalI5=382UyRck37Nomk
[face_pic] => http://zk-new-designer.oss-cn-beijing.aliyuncs.com/0aaf107848e3284497b73c85e28cbb94.png
[classify_1] => 1
[classify_2] => 3
[classify_3] => 19
[view_num] => 1
[comment_num] => 0
[like_num] => 0
[is_recommend] => 0
[step] => 0
[status] => 2
[create_time] => 2019-06-17 15:49:09
[is_del] => 0
[recommend_level] =>
[recommend_level_val] => 0
[classify_1_name] => 原创
[classify_2_name] => 平面
[classify_3_name] => 标志
[user_info] => Array
(
[open_id] => DalI5=382UyRck37Nomk
[username] => KALI落落
[sex] => 1
[vocation] => 学生
[avatar] => http://res.shiquaner.zookingsoft.com/08308f0ea288b09507b06e9d0d69221e.png
[country] => 中国
[province] => 广东省
[city] => 惠州市
[personal_sign] => 路漫漫其修远兮
[work_num] => 34
[fans_num] => 16
[follow_num] => 15
[create_time] => 2019-05-08 15:25:11
[recommend_level_val] => 3
[email] => 450049593@qq.com
[situation] => 我是工作室/公司负责人
[work_experience] => 10-40小时
[design_experience] => 4年
[preference_classify] => 插图
[style] => 极简,扁平,风景
[field] => 日化用品,医疗,传媒,快消
[is_completed] => 1
[follow_flag] => 0
[report_num] => 0
[popular_num] => 1752
) ) )

  

php根据字段相识度进行排序查询的更多相关文章

  1. rownum按某字段排序查询

    特点:rownum伪列,查询结果按顺序从1递增排列 用途:按某字段排序查询第几名到第几名的数据 但加上按字段排序条件后,rownum并不会从1递增 需把按字段排序查询的数据作为一张表,再次查询,row ...

  2. 10. MySQL基础-02条件查询、排序查询

    2. 条件查询 语法 ​ select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...

  3. MySQL的ALTER变更、正则查询、分组查询、排序查询以及事务查询的概

    MySQL的表和字段信息的变更 ALTER TABLE table-name DROP column-name; #删除某个字段 ALTER TABLE table-name ADD column-n ...

  4. 03_MySQL DQL_排序查询

    #进阶3:排序查询/*语法: select 查询列表 from 表名 [where 筛选条件] order by 排序列表 [asc|desc] 特点: 1.asc升序,desc降序, 如果都不写,默 ...

  5. MySql——创建数据表,查询数据,排序查询数据

    参考资料:<Mysql必知必会> 创建数据表 在学习前首先创建数据表和插入数据.如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675 ...

  6. MySQL 进阶3 排序查询

    #进阶3 排序查询 格式: select 查询列名 from 表 [where 筛选条件] order by 排序列名 [asc / desc] 排序查询/嵌套排序查询/函数查询/[按别名进行 排序] ...

  7. MySQL 按照数据库表字段动态排序 查询列表信息

    MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...

  8. SEC7 - MySQL 查询语句--------------进阶3:排序查询

    # 进阶3:排序查询 /* 引入: select * from employees; 语法: select 查询列表 from 表 [where 筛选条件] order by 排序的列表 asc/de ...

  9. 数据库MySQL--条件查询/排序查询

    一.条件查询 条件查询:满足条件的字段被筛选出来 语法:select 查询列表字段 from 表名 where 筛选条件: 条件查询的条件分类: 1.按条件表达式筛选:条件运算符:>, < ...

随机推荐

  1. 浅显易懂的前端知识点(二)——HTTP协议基础

    HTTP 协议的初印象: 是基于 TCP/IP 协议的应用层协议,不涉及数据包的传输,主要规定了客户端和服务器之间的通信格式,默认使用 80 端口. 1 HTTP 协议 0.9 版(1991 年) 是 ...

  2. qq机器人 python实现 自动回复

    我以前写的代码我现在贴在了下面,下面的连接是我自己的博客,有问题希望大家提出来,一起进步...我以前试过,没啥问题.可以实现聊天. https://realwuxiong.github.io/blog ...

  3. 【编程的乐趣-用python解算法谜题系列】谜题一 保持一致

    谜题一 保持一致 谜题 假设有一大群人排队等待观看棒球比赛.他们都是主场球迷,每个人都戴着队帽,但不是所有人都用同一种戴法,有些人正着戴,有些人反着戴. 假定你是保安,只有在全组球迷帽子戴法一致时才能 ...

  4. postgresql spi开发笔记

    #include "postgres.h" #include "fmgr.h" #include <string.h> #ifdef PG_MODU ...

  5. FD_WRITE是如何触发的?

    The FD_WRITE network event is handled slightly differently. An FD_WRITE network event is recorded wh ...

  6. SpringBoot整合ActiveMQ和开启持久化

    一.点对点 1.提供者目录展示 2.导入依赖 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  7. Django模型中的admin后台管理无法显示字段

    在执行django后台管理时,登陆到http://127.0.0.1:8000/admin/,进入页面后没有对应的字段显示.请解决? 代码: models.py from django.db impo ...

  8. 用Go语言在Linux下调用新中新DKQ-A16D读卡器,读二代证数据

    1.背景 前几天用Python在Linux下成功的获取了二代证数据,最近正在学Go语言,这两天想着用Go语言也实现一下试看看. 2.开搞C++ 这次就比较简单了,直接把CppDemo里面的SynRea ...

  9. 软件质量保障初探_Chris

    关于软件质量保障的体会 首先,软件质量保障的重要性不言而喻,书中说软件质量体现在以下方面 软件开发过程的可见性 软件开发过程的风险控制 软件内部模块,项目中间阶段的交付质量,项目管理工具的因素 软件开 ...

  10. ARTS Week 2

    Nov 4,2019 ~ Nov 10,2019 Algorithm 本周主要的算法是如何求两个数的最大公因数.传统的想法便是对这两个数分解质因数,而后找到其公共因数,再相乘,这样就会得到最大公因数了 ...