直播回放
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年全年日历。
答:
<?phpfunction 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);?>