1

我不想显示数字 3、5 和 15。我希望你在我的程序运行时显示

1 2 三 4 五 6 7 ...

$var1 = 3;
$var2 = 5;
$var3 = 15;

for ($i=1; $i<=100; $i++) {

  if($i<=3){
    if (($i%$var1)==0) 
      echo 'Three' .'<br/>';
  } 

  if($i<=5)
    if (($i%$var2)==0) {
      echo 'Five' .'<br/>';
    }

  if($i<=15) 
    if ((($i%$var3)==0)) {
      echo 'ThreeFive' .'<br/>';
    }

  echo $i.'<br/>';  
}
4

5 回答 5

3

一个相当粗略但可行的解决方案是:

$var1 = 3;
$var2 = 5;
$var3 = 15;

for( $i=0; $i<100; $i++ ) {
  switch( $i ) {
    case $var1: echo 'Three<br>'; break;
    case $var2: echo 'Five<br>'; break;
    case $var3: echo 'ThreeFive<br>'; break;
    default:    echo $i.'<br>';
  }
}
于 2013-04-11T06:13:01.787 回答
2

检查此代码

$exclude_array = array(3,5,15);
for($i = 0;$i < 100; $i++){
   if(!in_array($i,$exclude_array))
   echo $i;
}
于 2013-04-11T06:13:35.757 回答
1

一个更优雅的解决方案......

$alter = array(3=>"Three<br>", 5=>"Five<br>", 15=>"ThreeFive<br>");
for($i=0; $i<100; $i++) echo isset($alter[$i]) ? $alter[$i] : $i;

我想你想在每次被 3 或5整除时打印3和5。然后你可以这样改变它:$i

$alter = array(3=>"Three", 5=>"Five");
for($i=0; $i<100; $i++) {
    $print_word = false;
    foreach($alter as $key=>$val) if($i>0 && $i%$key==0) {
        echo $val;
        $print_word = true;
    }
    echo $print_word ? "<br>" : $i;
}
于 2013-04-11T06:22:25.287 回答
0

试试这个:)

   <?php

    $var1 = 3;
    $var2 = 5;
    $var3 = 15;

    for ($i=1; $i<=100; $i++) {
        if($i == $var1){
            echo "three <br />";
        }elseif($i == $var2){
            echo "five <br />";
        }elseif($i == $var3){
            echo "Fifteen <br />";
        }else{
            echo $i."<br />";
        }
    }

?>
于 2013-04-11T06:31:06.540 回答
0

尝试这个-

    $var1 = 3;
             $var2 = 5;
             $var3 = 15;

              for ($i=1; $i<=100; $i++) {

             if ($i==$var1) 
            echo 'Three' .'<br/>';


            else if ($i==$var2) {
            echo 'Five' .'<br/>';
           }

            else if ($i==$var3) {
            echo 'ThreeFive' .'<br/>';
           }
else
            echo $i.'<br/>';  
           }
于 2013-04-11T06:13:48.280 回答