PHP輸出多個(gè)元素的排列或組合的方法
實(shí)例如下:
<?php $arr = array('a','b','c','d'); $result = array(); $t = getCombinationToString($arr, 1); print_r($t); $t = getCombinationToString($arr, 2); $t2 = getunique($t); print_r($t2); $t = getCombinationToString($arr, 3); $t2 = getunique($t); print_r($t2); $t = getCombinationToString($arr, 4); $t2 = getunique($t); print_r($t2); function getunique($t){ $t2 = array(); //print_r($t); for($i=0;$i<count($t);$i++){ $count_list = array_count_values($t[$i]); $flag = 1; foreach($count_list as $ck=>$cv){ if($cv>1){ $flag = 0; break; } } if($flag){ sort($t[$i]); $flag2 = 1; if($t2){ foreach($t2 as $t2k=>$t2v){ if($t[$i]==$t2v){ $flag2 = 0; break; } } } if($flag2){ $t2[] = $t[$i]; } } } return $t2; } function getCombinationToString($arr, $m) { if ($m ==1) { return $arr; } $result = array(); $tmpArr = $arr; unset($tmpArr[0]); for($i=0;$i<count($arr);$i++) { $s = $arr[$i]; $ret = getCombinationToString(array_values($tmpArr), ($m-1), $result); foreach($ret as $row) { //$result[] = $s . $row; $temp = array(); $temp[] = $s; if(is_array($row)){ $temp = array_merge($temp,$row); }else{ $temp[] = $row; } sort($temp); $result[] = $temp; } } return $result; } ?>
共15種排列結(jié)果。
以上這篇PHP輸出多個(gè)元素的排列或組合的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- PHP實(shí)現(xiàn)的簡(jiǎn)單排列組合算法應(yīng)用示例
- php全排列遞歸算法代碼
- 使用php計(jì)算排列組合的方法
- 淺談PHP的排列組合(如輸入a,b,c 輸出他們的全部組合)
- php通過(guò)排列組合實(shí)現(xiàn)1到9數(shù)字相加都等于20的方法
- php求數(shù)組全排列,元素所有組合的方法總結(jié)
- php求數(shù)組全排列,元素所有組合的方法
- PHP實(shí)現(xiàn)基于圖的深度優(yōu)先遍歷輸出1,2,3...n的全排列功能
- PHP實(shí)現(xiàn)字符串的全排列詳解
- php實(shí)現(xiàn)的生成排列算法示例
相關(guān)文章
PHP統(tǒng)計(jì)二維數(shù)組元素個(gè)數(shù)的方法
數(shù)據(jù)表里面的字段 content 存儲(chǔ)了一個(gè)以逗號(hào)分割的字符串,最大有20個(gè)數(shù),最大數(shù)字為40。比如3,24,33,40類似字樣的數(shù)字序列。其實(shí)就是一個(gè)保存了多項(xiàng)投票結(jié)果的字段啦。現(xiàn)在需要統(tǒng)計(jì)每個(gè)數(shù)字的個(gè)數(shù),也就是每個(gè)投票項(xiàng)有多少人投了,并排序2013-11-11PHP?ceil()函數(shù)浮點(diǎn)數(shù)向上取整實(shí)現(xiàn)示例
這篇文章主要為大家介紹了PHP?ceil()函數(shù)實(shí)現(xiàn)浮點(diǎn)數(shù)向上取整示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Laravel 修改驗(yàn)證異常的響應(yīng)格式實(shí)例代碼詳解
這篇文章主要介紹了Laravel 修改驗(yàn)證異常的響應(yīng)格式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05PHP+Mysql+Ajax實(shí)現(xiàn)淘寶客服或阿里旺旺聊天功能(前臺(tái)頁(yè)面)
這篇文章主要介紹了用php+mysql+ajax實(shí)現(xiàn)淘寶客服或阿里旺旺聊天功能之前臺(tái)頁(yè)面,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06layui數(shù)據(jù)表格自定義每頁(yè)條數(shù)limit設(shè)置
今天小編就為大家分享一篇layui數(shù)據(jù)表格自定義每頁(yè)條數(shù)limit設(shè)置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10使用php實(shí)現(xiàn)下載生成某鏈接快捷方式的解決方法
點(diǎn)擊一個(gè)頁(yè)面中的某個(gè)按鈕或者鏈接,生成某鏈接的快捷方式同時(shí)下載到本地,如果使用php語(yǔ)言來(lái)實(shí)現(xiàn),網(wǎng)上比較多的方法如下2013-05-05