当前位置:Gxlcms > PHP教程 > php数组结合

php数组结合

时间:2021-07-01 10:21:17 帮助过:4人阅读

php 数组组合
$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 $res[] = $res[$i] . $set[$p];
}
print_r($res);
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 $res[] = $res[$i] . $set[$p];
}
print_r($res);
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => ab
[5] => bc
[6] => cd
)

版主这个输出的和楼主的不一样啊,我没太搞懂楼主到底是要怎么组合输出这个数组,我的解决方法如下,这里不用输出cd就可以了
$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);
?>


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)

------解决方案--------------------

$set = array('a','b','c','d');
$arr=array();
for($j=0;$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);


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

人气教程排行