为了账号安全,请及时绑定邮箱和手机立即绑定
关注
呼呼厚

数组 的一道题,有大神会的吗?

这是老师布置的作业,可是我不会,希望有http://img4.sycdn.imooc.com/5e78db4d0001373909840761.jpg大神帮我讲解,谢谢你


2020-03-23 源自:PHP入门篇 3-13 244 浏览 3 回答

<?php 

$count = 0;

$arr1 = array();

$arr2 = array();

$arr3 = array();

// 输出符合条件的数字

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

if($i%4==0 && $i%6!==0){

$count++;

array_push($arr1,$i);

echo "<font color=green>$i</font>","#";

continue;

}else if($i%4!=0 && $i%6==0){

$count++;

array_push($arr2,$i);

echo "<font color=blue>$i</font>","#";

continue;

}else if($i%4==0 && $i%6==0){

$count++;

array_push($arr3,$i);

echo "<font color=red>$i</font>","#";

continue;

}else if($i%2==0){

$count++;

echo "<font color=black>$i</font>","#";

continue;

}

// 输出10个换行

if($count%10==0){

echo "<br/>";

}

}

echo "<br/>";

echo "是4的倍数而不是6的倍数:","<br/>";

echo "Array(";

for($i=0; $i<sizeof($arr1); $i++){

echo "[",$i,"]","=>",$arr1[$i],"  ";

}

echo ")";


echo "<br/>";

echo "是6的倍数而不是4的倍数:","<br/>";

echo "Array(";

for($i=0; $i<sizeof($arr2); $i++){

echo "[",$i,"]","=>",$arr2[$i],"  ";

}

echo ")";


echo "<br/>";

echo "既是4的倍数又是6的倍数:","<br/>";

echo "Array(";

for($i=0; $i<sizeof($arr3); $i++){

echo "[",$i,"]","=>",$arr3[$i],"  ";

}

echo ")";

?>



2020-03-25
回复 0

呼呼厚 (提问者)

运行结果不是图片中的样子啊
#1 2020-03-25 回复

redfox0825 回复 呼呼厚

浏览器宽度会导致效果差异。
#2 2020-03-25 回复

redfox0825 回复 呼呼厚

你用小白兔1215的代码就行,他的没问题,我每行输出最后多了个#
#3 2020-03-25 回复
$str = '';
$green = $blue = $red = [];
for($i=1,$j=1;$i<=100;$i++){
   $remainder2 = $i % 2;
  if( $remainder2 == 0 ){
      $remainder4 = $i % 4;
      $remainder6 = $i % 6;
      if( $remainder4 == 0 && $remainder6 != 0){
             $green[] = $i;
         $str  .= '<font color="green">'.$i.'</font>';
      }else if($remainder4 != 0 && $remainder6 == 0){
             $blue[] = $i;
         $str  .= '<font color="blue">'.$i.'</font>';
      }else if($remainder4 == 0 && $remainder6 == 0){
             $red[] = $i;
         $str  .= '<font color="red">'.$i.'</font>';
      }else{
             $str  .= $i;
      }

         $str .= $j<10 ? '#' : '<br/>';

      $j = $j == 10 ? 1 : $j+1;
   }
}
echo $str.'<br/>';
echo '是4的倍数而不是6的倍数:</br>';
print_r($green);
echo '</br>是6的倍数而不是4的倍数:</br>';
print_r($blue);
echo '</br>即是4的倍数又是6的倍数:</br>';
print_r($green);


2020-03-25
回复 0

小白兔1215

输出最后一项数组的时候,把变量改成$red
#1 2020-03-25 回复

呼呼厚 (提问者)

运行结果不是图片中的样子啊
#2 2020-03-25 回复

小白兔1215 回复 呼呼厚

改了之后不是的话,你过来,手摸手教学
#3 2020-03-25 回复
点击展开后面1条评论
$str = '';
$green = $blue = $red = [];
for($i=1,$j=1;$i<=100;$i++){
    $remainder2 = $i % 2;
   if( $remainder2 == 0 ){ //取偶数
      $remainder4 = $i % 4;
      $remainder6 = $i % 6;
      if( $remainder4 == 0 && $remainder6 != 0){
             $green[] = $i;
         $str  .= '<font color="green">'.$i.'</font>';
      }else if($remainder4 != 0 && $remainder6 == 0){
             $blue[] = $i;
         $str  .= '<font color="blue">'.$i.'</font>';
      }else if($remainder4 == 0 && $remainder6 == 0){
             $red[] = $i;
         $str  .= '<font color="red">'.$i.'</font>';
      }else{
             $str  .= $i;
      }

         $str .= $j<10 ? '#' : '<br/>';

      $j = $j == 10 ? 1 : $j+1;
   }
}
echo $str.'<br/>';
echo '是4的倍数而不是6的倍数:</br>';
print_r($green);
echo '</br>是6的倍数而不是4的倍数:</br>';
print_r($blue);
echo '</br>即是4的倍数又是6的倍数:</br>';
print_r($red);

http://img4.sycdn.imooc.com/5e7b77af0001f42014440302.jpg

2020-03-25
回复 0

redfox0825

你这个对的
#1 2020-03-25 回复

redfox0825

你这不错,我php连运算符都没看完,就胡写一个。
#2 2020-03-25 回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信