想问一下老师,$num是怎么传参的,为什么没有Notice提示未定义?

来源:3-3 编程练习

SeeHO

2019-05-11 19:05:45

<?php 
header("content-type:text/html;charset=utf-8");
//定义变量
$score = 70;
$get = '';
//定义匿名函数$com
$com = function($num){
    global $score,$get;
    if ( $score<=100 && $score>=80 ){
        $get = '优秀';
    } elseif( $score<80 && $score>=60 ){
        $get = '合格';
    } elseif($score<60 && $score>=0){
        $get = '不及格';
    }else{
        $get = '这是个嘛呀?';
    }
    return $get;
};
//声明函数comment
function Comment($com){
    global $score;
    $com($score);
}
//调用comment函数
Comment($com);
//打印变量值
echo '我的成绩是:'.$score.'分,我得到的评价是:'.$get;

问题如下:

1.函数中$num不需要变成&$num来引用传值吗?

2.还有匿名函数$com最后不return $get可以吗,会不会有什么影响?

谢谢老师~

写回答

1回答

好帮手慕查理

2019-05-12

您好,1.不用,虽然作为参数进行了传入,但是在函数中并没有使用$num。

2.$get变量是全局变量则不会影响,因为在函数外部只也进行了改变。但如果不是则需要返回。

祝学习愉快!

0

0 学习 · 4928 问题

查看课程