> 백엔드 개발 > PHP 튜토리얼 > php 数组结合

php 数组结合

WBOY
풀어 주다: 2016-06-13 11:57:47
원래의
1143명이 탐색했습니다.

php 数组组合
$set = array('a','b','c','d');

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

$set = array('a','b','c','d');<br />$res = $set;<br />for($i=0, $p=1; $i<count($res) && isset($set[$p]); $i++, $p++) {<br />  $res[] = $res[$i] . $set[$p];<br />}<br />print_r($res);
로그인 후 복사
로그인 후 복사
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => ab
[5] => bc
[6] => cd
)

------解决方案--------------------
引用:
$set = array('a','b','c','d');<br />$res = $set;<br />for($i=0, $p=1; $i<count($res) && isset($set[$p]); $i++, $p++) {<br />  $res[] = $res[$i] . $set[$p];<br />}<br />print_r($res);
로그인 후 복사
로그인 후 복사
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => ab
[5] => bc
[6] => cd
)

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


array (size=10)<br />  0 => string 'a' (length=1)<br />  1 => string 'b' (length=1)<br />  2 => string 'c' (length=1)<br />  3 => string 'd' (length=1)<br />  4 => string 'ab' (length=2)<br />  5 => string 'ac' (length=2)<br />  6 => string 'ad' (length=2)<br />  7 => string 'bc' (length=2)<br />  8 => string 'bd' (length=2)<br />  9 => string 'cd' (length=2)<br />
로그인 후 복사

------解决方案--------------------
<br />$set = array('a','b','c','d');<br />$arr=array();<br />for($j=0;$j<sizeof($set);$j++){<br />    $arr[]=$set[$j];<br />}<br />foreach($set as $k=>$v){<br />    for($i=$k;$i<=(3-$v);$i++){<br />        if($v==$set[$i]) continue;<br />        $arr[]=$v.$set[$i];<br />    }<br />}<br />print_r($arr);<br />
로그인 후 복사

<br />Array<br />(<br />    [0] => a<br />    [1] => b<br />    [2] => c<br />    [3] => d<br />    [4] => ab<br />    [5] => ac<br />    [6] => ad<br />    [7] => bc<br />    [8] => bd<br />    [9] => cd<br />)<br /><br />
로그인 후 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿