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

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

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


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

<?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 回复
<?php	// 初始化定义1-100的数组	$arr1 = array();	// 用for循环赋值	for($i = 0; $i < 100; $i++){		$arr1[$i] = $i+1;	};	// 遍历$arr1数组内容	$j = 0;	do{		if(is_int($arr1[$j]/4) == true && is_int($arr1[$j]/6) == true){			if(is_int($arr1[$j]/4) == true || is_int($arr1[$j]/6) == true){				echo "<span style='color:red';'>".$arr1[$j]."#</span><br />";			};		}else if(is_int($arr1[$j]/4) == true){			echo "<span style='color:yellow';'>".$arr1[$j]."#</span>";		}else if(is_int($arr1[$j]/6) == true){			echo "<span style='color:blue';'>".$arr1[$j]."#</span>";		}else if(is_int($arr1[$j]/2) == true){			echo "<span style='color:black';'>".$arr1[$j]."#</span>";		};		$j++;	}while($j < count($arr1));?>


2020-07-06
回复 0

<?php

// 初始化定义1-100的数组

$arr1 = array();

// 用for循环赋值

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

$arr1[$i] = $i+1;

};

// 遍历$arr1数组内容

$j = 0;

do{

if(is_int($arr1[$j]/4) == true && is_int($arr1[$j]/6) == true){

if(is_int($arr1[$j]/4) == true || is_int($arr1[$j]/6) == true){

echo "<span style='color:red';'>".$arr1[$j]."#</span><br />";

};

}else if(is_int($arr1[$j]/4) == true){

echo "<span style='color:yellow';'>".$arr1[$j]."#</span>";

}else if(is_int($arr1[$j]/6) == true){

echo "<span style='color:blue';'>".$arr1[$j]."#</span>";

}else if(is_int($arr1[$j]/2) == true){

echo "<span style='color:black';'>".$arr1[$j]."#</span>";

};

$j++;

}while($j < count($arr1));

?>


2020-07-06
回复 0

举报

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