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 之 没有mysql支持时的替代方案
Oct 09 PHP
mysql 的 like 问题,超强毕杀记!!!
Jan 18 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
May 13 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 PHP
Laravel自动生成UUID,从建表到使用详解
Oct 24 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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 XML备份Mysql数据库
2009/05/27 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
分享一个asp.net pager分页控件
2012/01/04 Javascript
js数组的操作详解
2013/03/27 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
九种原生js动画效果
2015/11/11 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
详解Python循环作用域与闭包
2019/03/21 Python
python实现弹窗祝福效果
2019/04/07 Python
python async with和async for的使用
2019/06/20 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
Python获取、格式化当前时间日期的方法
2020/02/10 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
详解Python流程控制语句
2020/10/28 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
美术教学感言
2014/02/22 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
财务情况说明书范文
2014/05/06 职场文书
2014年网管工作总结
2014/12/11 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
中国合伙人观后感
2015/06/02 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技
MySQL数据管理操作示例讲解
2022/12/24 MySQL