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 相关文章推荐
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 PHP
laravel框架语言包拓展实现方法分析
Nov 22 PHP
深入浅析安装PhpStorm并激活的步骤详解
Sep 17 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
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
Python中使用PIPE操作Linux管道
2015/02/04 Python
python实现清屏的方法
2015/04/30 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
django 信号调度机制详解
2019/07/19 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
业务代表的岗位职责
2013/11/16 职场文书
高级方案规划工程师岗位职责
2013/11/29 职场文书
高中生职业生涯规划书
2014/02/24 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers