PHP实现的简单组词算法示例


Posted in PHP onApril 10, 2018

本文实例讲述了PHP实现的简单组词算法。分享给大家供大家参考,具体如下:

<?php
//组词算法
function diyWords($arr,$m){
  $result = array();
  if ($m ==1){//只剩一个词时直接返回
    return $arr;
  }
  if ($m == count($arr)){
    $result[] = implode('' , $arr);
    return $result;
  }
  $temp_firstelement = $arr[0];
  unset($arr[0]);
  $arr = array_values($arr);
  $temp_list1 = diyWords($arr, ($m-1));
  foreach ($temp_list1 as $s){
    $s = $temp_firstelement.$s;
    $result[] = $s;
  }
  $temp_list2 = diyWords($arr, $m);
  foreach ($temp_list2 as $s){
    $result[] = $s;
  }
  return $result;
}
//组词算法
$arr=array('裤子','牛仔','低腰','加肥');
$count=count($arr);
for($i=1;$i<=$count;$i++){
  $temp[$i]=diyWords($arr,$i);
}
echo '<pre/>';print_r($temp);

运行结果:

Array
(
    [1] => Array
        (
            [0] => 裤子
            [1] => 牛仔
            [2] => 低腰
            [3] => 加肥
        )
    [2] => Array
        (
            [0] => 裤子牛仔
            [1] => 裤子低腰
            [2] => 裤子加肥
            [3] => 牛仔低腰
            [4] => 牛仔加肥
            [5] => 低腰加肥
        )
    [3] => Array
        (
            [0] => 裤子牛仔低腰
            [1] => 裤子牛仔加肥
            [2] => 裤子低腰加肥
            [3] => 牛仔低腰加肥
        )
    [4] => Array
        (
            [0] => 裤子牛仔低腰加肥
        )
)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
php操作路径的经典方法(必看篇)
Oct 04 PHP
PHP使用imagick扩展实现合并图像的方法
Apr 25 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 PHP
php读取本地json文件的实例
Mar 07 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 PHP
PHP实现微信小程序用户授权的工具类示例
Mar 05 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
PHP实现的大文件切割与合并功能示例
Apr 10 #PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 #PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 #PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 #PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
Apr 09 #PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 #PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 #PHP
You might like
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
php中 ob_start等函数截取标准输出的方法
2015/06/22 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
PHP封装的多文件上传类实例与用法详解
2017/02/07 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
关于this和self的使用说明
2010/08/01 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery基础知识小结
2014/12/22 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
构建Python包的五个简单准则简介
2015/06/15 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Python实现名片管理系统
2020/02/14 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
高三自我鉴定怎么写
2013/10/19 职场文书
计算机毕业大学生推荐信
2013/12/01 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
教师工作能力自我评价
2015/03/04 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书