为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用可调用伪类型将一个函数用作php中另一个函数的参数?

如何使用可调用伪类型将一个函数用作php中另一个函数的参数?

PHP
跃然一笑 2022-07-09 10:45:21
我刚刚从 php.net 阅读了有关可调用类型的信息,并假设使用callable关键字应该允许将函数作为参数传递给另一个函数。但是,我收到警告。这是我尝试过的:<?phpfunction helloWorld(){   echo 'Hello World!';}function handle(callable $fn){   $fn(); }handle(helloWorld); // Outputs: Hello World!?>但是,我有时会收到以下错误:Parse error: syntax error, unexpected 'function' (T_FUNCTION), expecting variable (T_VARIABLE)而有时Warning: Use of undefined constant helloWorld - assumed 'helloWorld' (this will throw an Error in a future version of PHP) in C:\Projects\Sandbox\myphp on line 12Q1。为什么 php 期望helloWorld成为一个变量,它已经被明确定义为一个函数。Q2。显然,删除函数定义中的关键字callable没有任何区别。为什么?
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

您应该将参数放在引号中,如下所示:

handle('helloWorld');

而不是

handle(helloWorld);

PHP Docscallable声明“ PHP 函数通过其名称作为字符串传递”。


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号