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 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
探讨php中header的用法详解
Jun 07 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
php中异常处理方法小结
Jan 09 PHP
PHP文件缓存类示例分享
Jan 30 PHP
php防止sql注入的方法详解
Feb 20 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
查找mysql字段中固定字符串并替换的几个方法
2012/09/23 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
JavaScript 调试器简介
2009/02/21 Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
Vue Cli 3项目使用融云IM实现聊天功能的方法
2019/04/19 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
python数据结构之线性表的顺序存储结构
2018/09/28 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
python中entry用法讲解
2020/12/04 Python
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
公司员工奖惩制度
2015/08/04 职场文书
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL