请问一下B为什么错,D为什么对?我在本地运行D有报错

请问一下B为什么错,D为什么对?我在本地运行D有报错

http://img1.sycdn.imooc.com//climg/5cea99560001bc3c11070747.jpg

Catchable fatal error: Object of class Closure could not be converted to string in D:\phpStudy\PHPTutorial\WWW\imooc\func\func4.php on line 21


<?php 

// $a = 'imooc';

// $imooc = function($a){

// echo $a;

// };

// $imooc($a);


echo "<hr/>";


// $imooc = function($a){

// echo $a;

// };


// $imooc('imooc');



$a = 'imooc';

$imooc = function($a){

return $a;

};

echo $imooc;


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2019-05-27 10:11:59

同学你好,B选项并没有结束符(;)导致语法错误,D选项是正确的。

报错信息:可捕获的致命错误:第21行中,类闭包的对象不能转换为D:\phpStudy\PHPTutorial\WWW\imooc\func\func4.php中的字符串。

在调用了$imooc 的函数时,并没有传参导致解析$imooc为变量。应该在调用$imooc函数时为$imooc(参数),如:

<?php
    $a = 'imooc';
    $imooc = function($a){
        return $a;
    };
    echo $imooc($a);
?>

祝学习愉快!



  • 提问者 慕勒2211475 #1
    谢谢老师哈,您代码第七行好像也错了... echo $imooc($a);
    2019-05-28 23:56:09
  • 好帮手慕小尤 回复 提问者 慕勒2211475 #2
    同学你好,是书写错误,已经修改。给您的学习带来不便,深感抱歉!
    2019-05-29 09:36:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师