<?php
$ohhai = 1;
while ($ohhai != 102)
{
for($t = 1; $t < $ohhai; $t++)
{
//if ($t % 3 == 0)
//{
$e = $t / 3;
if (is_int($e))
{
echo "*";
}
//}
}
echo("<br />");
$ohhai++;
}
?>
我要做的是每隔3次输出一次字符串,如下所示:
$t = 3;
*
$t = 6;
**
$t = 9;
***
等等。我尝试了很多方法来获得这个,这是我得到的最接近的,这是我得到的最接近的。打印出的内容位于此处(难以输入)。我怎样才能完成每次第3次技巧?
答案 0 :(得分:3)
/
为您提供商数。相反,您需要使用%
运算符并检查%
操作的结果是否为 0 ,然后打印该值。
<?php
$ohhai = 1;
$times = 1; // This is variable that keeps track of how many times * needs to printed. It's fairly straight forward to understand, why this variable is needed.
while ($ohhai != 102)
{
if ($t % 3 == 0)
{
for ( $counter = 0; $counter < $times; $counter++)
{
echo "*";
}
$times ++;
echo("<br />");
}
$ohhai++;
}
?>
答案 1 :(得分:2)
if($something % 3 == 0)
{
//do something
}
%
是模运算符,它返回除法的余数。如果结果为0,则除法发生时没有余数。
答案 2 :(得分:0)
您可以在大多数语言中使用模数运算符,即除法运算的其余部分
if(iterationNumber%3 == 0)这是第三次。
答案 3 :(得分:0)
我对你要做的事情有点不清楚,但我怀疑你所缺少的是模数运算符%
。
在PHP中,x % y
计算除以x除以y得到的余数。因此,如果您正在计算某些内容,并且您希望为每三个代码运行一些代码,则可以执行以下操作:
if (0 == $count % 3) {
// action to perform on every third item
}
有关详细信息,请参阅http://php.net/manual/en/language.operators.arithmetic.php上的PHP手册。
另外,我认为您可能还需要一个for循环,以便打印出正确数量的* s。
<?php
$ohhai = 1;
while ($ohhai != 102)
{
// we only want to print on multiples of 3
if( 0 == $ohhai % 3 ) {
for($t = 1; $t <= $ohhai; $t++){
echo "*";
}
echo("<br />\n");
}
$ohhai++;
}
答案 4 :(得分:0)
使用模运算符。
例如:
10 % 2 = 0
因为2除了10而没有余数。10 % 3 = 1
因为3除以10而余数为1。因此,使用您的注释代码,您的脚本将如下所示:
<?php
$ohhai = 1;
while ($ohhai != 102)
{
for($t = 1; $t < $ohhai; $t++)
{
if ($t % 3 == 0)
{
echo "*";
}
}
echo("<br />");
$ohhai++;
}
?>
答案 5 :(得分:0)
$total=102;
for($i=1;$i<=$total;$i++) {
if($i%3==0){
for($j=1;$j<=($i/3);$j++)
echo "*";
echo "<br/>";
}
}