PHP第四天作业:可变变量的首次应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP第四天作业:可变变量的首次应用相关的知识,希望对你有一定的参考价值。
今天作业第五题:
5、由数字1、2、3、4能组成多少个不重复的 3位数字,要求一个数中不能有重复出现的数字。
这道题一上手的第一时间就是用for循环遍历所有可能性,并且找出符合条件的元素。
那么代码就不详解了,基本都会:
for($s1=1;$s1<5;$s1++){
for($s2=1;$s2<5;$s2++){
for($s3=1;$s3<5;$s3++){
if($s1!=$s2&&$s1!=$s3&&$s2!=$s3){
echo $s1,$s2,$s3,"<br />";
}
}
}
}
第五题就做出来了,那么如果题目要求的数字并不是1、2、3、4这种有规律的数字呢?
例如:2、4、7、9 ?这又如何实现?
方法有两个,一个是把这新的四个数字都保存到一个数组里面,然后每次输出,都去找这个数组的下标即可,不过还没学到数组,我也不太会应用所以就放弃了这个念头。
要在学过的知识里找到方法,于是我想到了 可变变量 ,这就是方法二。
理由如下:数字的量是固定的,而且排序也没有硬性要求,而且只需要引用出来就好并不需要进行过多的处理……这些条件凑到一起,难免让我想到可变变量上去。
首先定义四个变量,名字相同,后缀为1、2、3、4的变量存放这四个新的数据:2、4、7、9;
然后后面遍历的时候只需要提取出分别的变量名,然后输出这个变量即可。
所以只需要对源代码进行一点点修饰,就可以轻松达成:
强化版5、由数字2、4、7、9能组成多少个不重复的 3位数字,要求一个数中不能有重复出现的数字。
代码如下:
$a1=2;
$a2=4;
$a3=7;
$a4=9;
for($s1=1;$s1<5;$s1++){
for($s2=1;$s2<5;$s2++){
for($s3=1;$s3<5;$s3++){
if($s1!=$s2&&$s1!=$s3&&$s2!=$s3){
$b="a".$s1;
$c="a".$s2;
$d="a".$s3;
echo $$b,$$c,$$d,"<br />";
}
}
}
}
这样就能实现任意四个数,凑成任意三位数,并且个位数上数字不同的效果了。
对这道题继续拓展到任意数量的数字时,也只是定义时追加定义,或者当数据过大时使用循环语句进行定义,重复上述代码即可。
而拓展到任意位数时,就是增加代码里面的for循环次数以及判断次数而已。
以上是关于PHP第四天作业:可变变量的首次应用的主要内容,如果未能解决你的问题,请参考以下文章