php组词算法

26 篇文章 0 订阅
<?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] => 裤子牛仔低腰加肥
        )

)



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值