直播回放
PHP第6周函数上机题(实战输出2022年日历)
题目答案
PHP动态网站开发-函数
一、单选
1、下列关键字中,用于函数返回的是(D )。
A、 continue
B、 break
C、 exit
D、 return
2、若在函数内访问函数外定义的变量,需要使用( C)关键字。
A、 public
B、 var
C、 global
D、 static
3、请看下面一段代码:
<?php
function abc($n){
if($n < 5){
abc(++$n);
}
echo '$n='.$n.'<br />';
}
abc(3);
其运行结果为( C)。
A、 $n=5
B、 $n=5 $n=4 $n=3
C、 $n=5 $n=5 $n=4
D、 以上结果都不对
4、请看下面一段代码:
<?php
echo substr("itcast",-3,1);
其运行结果为(c)。
A、 c
B、 ast
C、 a
D、 以上都不对
5、在PHP中,可以使用()函数从一个字符串中截取子串。 (A)
A、 substr()
B、 substr_compare()
C、 substr_count()
D、 substr_replace()
二、判断
1、函数调用时,函数的名称可以使用一个变量来代替。( 对)
2、全局变量可以通过参数传递的方式在函数内部使用。( 对)
3、在函数f1()中定义了一个函数f2(),这时调用函数f1()就称为函数的嵌套调用。(对)
4、函数调用时,函数的名称可以使用一个变量来代替,此变量的值就可以是任意值。( 错)
5、在函数中,函数体代码可以存在多个return语句。(对 )
6、由于Unix时间戳的最小计算单位为秒,所以PHP不能获取比秒更精确地时间。(错 )
7、str_replace()函数的返回值类型是string类型。( 错)
8、PHP默认的时区是本地的时间。(错)
9、implode()函数和explode()函数功能是相反的。( 对)
10、使用strcmp()函数比较两个字符串的大小,结果相同返回true,不同返回false。( 错)
三、编程题
1、编写程序,输出2022年全年日历。
答:
<?php
function rili($y){
for($m=1;$m<=12;$m++){
//echo "$m"."月";
$dnum=date('t',mktime(0,0,0,$m,1,$y));
echo "<table>";
echo "<tr><th colspan='7'>";
echo $y.'年'.$m.'月';
echo "</th></tr>";
//日历表起始日是周一
echo "<tr><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td><td>日</td></tr>";
echo "<tr>";
for($d=1;$d<=$dnum;$d++){
$w=date('w',mktime(0,0,0,$m,$d,$y));
//开头留空格:判断是不是第一天
if($d==1){
//判断是不是星期天
if($w==0){
//是星期天,留6个空格
echo "<td colspan=\"6\">";
echo "</td>";
}else{
//不是星期天,留($w-1)个空格
$w1=$w-1;
echo "<td colspan=\"$w1\">";
echo "</td>";
}
}
//换行:判断是不是星期一
if($w==1){
//遇到星期一则换行打印
echo "</tr><tr><td>";
echo $d;
echo "</d>";
}else{
//不是星期一不换行打印
echo "<td>";
echo $d;
echo "</d>";
}
}
echo "</tr>";
echo "</table>";
}
}
rili(2023);
?>