求高手帮忙用php解决一下问题
$arr=array("1","2","3","4","5");$num=4;得出结果为:1234,1235,1245,1345,2345请详细说明,谢谢!不好意思,问题...
$arr = array("1","2","3","4","5");
$num = 4;
得出结果为:1 2 3 4 , 1 2 3 5, 1 2 4 5, 1 3 4 5, 2 3 4 5
请详细说明,谢谢!
不好意思,问题没说清楚,请见谅!!!
例如$num改为1是结果应该是1,2,3,4,5;改为2时应该是1 2,1 3,1 4,1 5,2 3,2 4,2 5,3 4,3 5,4 5;如此类推。无论是$num的值改变还是$arr的数组值改变,前提是$num的值小于等于$arr的个数,$num的值是决定每组组合数的位数, 展开
$num = 4;
得出结果为:1 2 3 4 , 1 2 3 5, 1 2 4 5, 1 3 4 5, 2 3 4 5
请详细说明,谢谢!
不好意思,问题没说清楚,请见谅!!!
例如$num改为1是结果应该是1,2,3,4,5;改为2时应该是1 2,1 3,1 4,1 5,2 3,2 4,2 5,3 4,3 5,4 5;如此类推。无论是$num的值改变还是$arr的数组值改变,前提是$num的值小于等于$arr的个数,$num的值是决定每组组合数的位数, 展开
4个回答
展开全部
$arr = array("1","2","3","4","5");
$num = 4;
for($i = $num; $i >= 0 ;$i--){
foreach($arr as $key=>$val){
if($key == $i) continue;;
echo $val.' ';
}
echo '<br>';
}
$num = 4;
for($i = $num; $i >= 0 ;$i--){
foreach($arr as $key=>$val){
if($key == $i) continue;;
echo $val.' ';
}
echo '<br>';
}
追问
不好意思,问题没说清楚。我本来是想做到如下结果的,例如$num改为1是结果应该是1,2,3,4,5;改为2时应该是1 2,1 3,1 4,1 5,2 3,2 4,2 5,3 4,3 5,4 5;如此类推。能帮我解决吗?麻烦把结果发到我的邮箱:yunpofeng@qq.com 谢了!
展开全部
for(i=4;i<0;i--){
$array=$arr;
$array[i]="";
for(j=0;j<5;j++){
echo $array[j];
}
}
复制即可
$array=$arr;
$array[i]="";
for(j=0;j<5;j++){
echo $array[j];
}
}
复制即可
追问
上面的$i应该是大于0才能执行,得出的结果还少一个,就是后面的2 3 4 5
追答
嗯 少了一个$把所有的i 和J 都换成$i 和$j 你把第一行换成for($i=4;$i<-1;$i--){ 就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个比较简单吧,4到0递减1 循环输出数组。每次不输出4 3 2 1 0 位置的数组值即可。
<?php
$arr = array("1","2","3","4","5");
$num = 4;
for(;$num>=0;$num--){ //递减循环
for($i=0;$i<5;$i++){ //循环输出数组的内容
if($num != $i) //每轮分别不输出第4 3 2 1 0数组位置的值
echo $arr[$i];
echo ' ';
}
if($num != 0) //输出中间的分隔符, 但最后一次不输出
echo ', ';
}
?>
这个我已经执行过了,直接复制就可以运行了。
<?php
$arr = array("1","2","3","4","5");
$num = 4;
for(;$num>=0;$num--){ //递减循环
for($i=0;$i<5;$i++){ //循环输出数组的内容
if($num != $i) //每轮分别不输出第4 3 2 1 0数组位置的值
echo $arr[$i];
echo ' ';
}
if($num != 0) //输出中间的分隔符, 但最后一次不输出
echo ', ';
}
?>
这个我已经执行过了,直接复制就可以运行了。
追问
可以得出以上的结果,但是$num的值要是改变了,数据就全乱了,例如$num改为1是结果应该是1,2,3,4,5;改为2时应该是1 2,1 3,1 4,1 5,2 3,2 4,2 5,3 4,3 5,4 5;如此类推。无论是$num的值改变还是$arr的数组值改变,前提是$num的值小于等于$arr的个数,$num的值是多少,组合的出来的结果位数就是多少,麻烦你帮帮忙,正急着用,谢了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
组合数?
追问
对,是将数组里面的数字进行组合成上面得出的结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询