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 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
PHP之数组学习
May 29 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
php文件上传的简单实例
Oct 19 PHP
php数组合并的二种方法
Mar 21 PHP
php实现图片添加描边字和马赛克的方法
Dec 10 PHP
ThinkPHP模型详解
Jul 27 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
Yii框架的redis命令使用方法简单示例
Oct 15 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jQuery实现可收缩展开的级联菜单实例代码
2013/11/27 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
Javascript实现单例模式
2016/01/24 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
用js编写留言板
2020/03/17 Javascript
python循环监控远程端口的方法
2015/03/14 Python
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
聘任书的写作格式及范文
2014/03/29 职场文书
师范生自荐信模板
2014/05/28 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
实习科室评语
2015/01/04 职场文书
个人欠条范本
2015/07/03 职场文书
使用Redis实现分布式锁的方法
2022/06/16 Redis