php 数组组合

WBOY
Lepaskan: 2016-06-23 13:56:43
asal
797 orang telah melayarinya

$set = array('a','b','c','d');

该如何把数组组合,输出的结果是
a
b
c
b
ab
ac
ad
bc
bd


回复讨论(解决方案)

$set = array('a','b','c','d');$res = $set;for($i=0, $p=1; $i<count($res) && isset($set[$p]); $i++, $p++) {  $res[] = $res[$i] . $set[$p];}print_r($res);
Salin selepas log masuk
Salin selepas log masuk
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => ab
[5] => bc
[6] => cd
)

$set = array('a','b','c','d');$res = $set;for($i=0, $p=1; $i<count($res) && isset($set[$p]); $i++, $p++) {  $res[] = $res[$i] . $set[$p];}print_r($res);
Salin selepas log masuk
Salin selepas log masuk
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => ab
[5] => bc
[6] => cd
)


版主这个输出的和楼主的不一样啊,我没太搞懂楼主到底是要怎么组合输出这个数组,我的解决方法如下,这里不用输出cd就可以了
<?php$set = array('a','b','c','d');$len = count($set);$res = array();for($i=0,$k=$len;$i<$len;$i++){  $res[$i] = $set[$i];  for($j=$i+1;$j<$len;$j++){    $res[$k++] = $set[$i].$set[$j];  }}ksort($res);var_dump($res);?>
Salin selepas log masuk


array (size=10)  0 => string 'a' (length=1)  1 => string 'b' (length=1)  2 => string 'c' (length=1)  3 => string 'd' (length=1)  4 => string 'ab' (length=2)  5 => string 'ac' (length=2)  6 => string 'ad' (length=2)  7 => string 'bc' (length=2)  8 => string 'bd' (length=2)  9 => string 'cd' (length=2)
Salin selepas log masuk

$set = array('a','b','c','d');$arr=array();for($j=0;$j<sizeof($set);$j++){    $arr[]=$set[$j];}foreach($set as $k=>$v){    for($i=$k;$i<=(3-$v);$i++){        if($v==$set[$i]) continue;        $arr[]=$v.$set[$i];    }}print_r($arr);
Salin selepas log masuk

Array(    [0] => a    [1] => b    [2] => c    [3] => d    [4] => ab    [5] => ac    [6] => ad    [7] => bc    [8] => bd    [9] => cd)
Salin selepas log masuk

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!