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 相关文章推荐
用文本文件制作留言板提示(下)
Oct 09 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
Sep 30 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
PHP自带函数给数字或字符串自动补齐位数
Jul 29 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
php构造方法中析构方法在继承中的表现
Apr 12 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 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替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
网上抓的一个特效
2007/05/11 Javascript
js 表单验证方法(实用)
2009/04/28 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
ES6中let 和 const 的新特性
2018/09/03 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
Python 调用DLL操作抄表机
2009/01/12 Python
python轻松实现代码编码格式转换
2015/03/26 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Python urllib3软件包的使用说明
2020/11/18 Python
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
教你怎样写好自我评价
2013/10/05 职场文书
期末自我鉴定
2014/01/23 职场文书
商场活动策划方案
2014/01/24 职场文书
公司口号大全
2014/06/11 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
计算机专业自荐信
2015/03/05 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书