写函数创建长度为n的数组,数组中的元素为递增的素数(质数),首项为2.
有两种输出:数组输出和int类型输出
int类型输出起源于另外一篇帖子,稍作了改动,加入了数组。
第一篇代码来自于此:http://t.csdn.cn/CWHxE
<?php
echo '100以内的素数:'.'<br>';
for($i=2;$i<=100;$i++) {
for($j=2;$j<=$i;$j++){
//echo $i." ".$j."\t".'<br>';
//这行代码可以查看循环过程便于理解,自始至终,$i的循环都没有停止过
if($i%$j==0){
break;//结束内循环
//成为素数有两个原因(除了1):它是本身,只能自己除自己
//循环两边,外循环=内循环,先自己除自己,后自己等于自己
}
else{
continue;//跳出单次循环,当除数为整数时不再遍历
}
}
if($i==$j){
$con++;
echo '素数为:'.$i."\t";//单个输出
}
}
echo '<br>'.'共计:'.$con.'个数字'.'<hr>';
?>
<?php
//数组输出
function sumu($m){
$arr=array();
for($i=2;$i<=$m;$i++) {
for($j=2;$j<=$i;$j++){
//echo $i." ".$j."\t".'<br>';
//这行代码可以查看循环过程便于理解,自始至终,$i的循环都没有停止过
if($i%$j==0){
break;//结束内循环
//成为素数有两个原因(除了1):它是本身,只能自己除自己
//循环两边,外循环=内循环,先自己除自己,后自己等于自己
}
else{
continue;//跳出单次循环,当除数为整数时不再遍历
}
}
if($i==$j){
$arr[]=$i;//存放到数组里面
}
}
return $arr;
}
$yyy=sumu(100);//引用传参;
print_r($yyy);
?>
个人推荐用数组,参数可以更快的去做改动,且不破坏原来的结构,灵活性更高;如果是固定值用第一种确实方便,更容易看懂,主要依情况而定。