PHP實(shí)現(xiàn)的簡單組詞算法示例
本文實(shí)例講述了PHP實(shí)現(xiàn)的簡單組詞算法。分享給大家供大家參考,具體如下:
<?php
//組詞算法
function diyWords($arr,$m){
$result = array();
if ($m ==1){//只剩一個(gè)詞時(shí)直接返回
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);
運(yùn)行結(jié)果:
Array
(
[1] => Array
(
[0] => 褲子
[1] => 牛仔
[2] => 低腰
[3] => 加肥
)
[2] => Array
(
[0] => 褲子牛仔
[1] => 褲子低腰
[2] => 褲子加肥
[3] => 牛仔低腰
[4] => 牛仔加肥
[5] => 低腰加肥
)
[3] => Array
(
[0] => 褲子牛仔低腰
[1] => 褲子牛仔加肥
[2] => 褲子低腰加肥
[3] => 牛仔低腰加肥
)
[4] => Array
(
[0] => 褲子牛仔低腰加肥
)
)
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
實(shí)現(xiàn) win2003 下 mysql 數(shù)據(jù)庫每天自動(dòng)備份
這篇文章主要為大家介紹下,如果用批處理實(shí)現(xiàn)mysql的自動(dòng)備份,需要的朋友可以參考下2006-12-12
php數(shù)組函數(shù)序列之a(chǎn)rray_key_exists() - 查找數(shù)組鍵名是否存在
array_key_exists() 函數(shù)判斷某個(gè)數(shù)組中是否存在指定的 key,如果該 key 存在,則返回 true,否則返回 false2011-10-10
php數(shù)組函數(shù)序列之in_array() 查找數(shù)組值是否存在
in_array() 函數(shù)在數(shù)組中搜索給定的值2011-10-10
php下mysql數(shù)據(jù)庫操作類(改自discuz)
這是php mysql的數(shù)據(jù)庫操作類,取自discuz,經(jīng)過修改后可以用于其它程序了,并且有足夠的注釋,大家可以借鑒研究下.2010-07-07

