关于php闭包附加状态的问题
巴扎黑
巴扎黑 2017-04-10 17:22:52
[PHP讨论组]

直接上代码:

<?php
function enclosePerson($name){
        return function($doCommand) use ($name) {
                return sprintf('%s, %s', $name, $doCommand);
        }
}
$func = enclosePerson("Simon");

echo $func("you are a cool man!");
?>

理论应该打印:Simon, you are a cool man!

但实际打印为空!

什么问题造成的呢?

php version:5.5.29

巴扎黑
巴扎黑

全部回复(2)
巴扎黑

因为你语法错误
return 后面少了个 ;

return function($doCommand) use ($name) {
                return sprintf('%s, %s', $name, $doCommand);
        };
黄舟

晕,LZ是在web页面中写的吧? 一片空白这种问题很明显是出错了。而且是致命性的错误。看看错误日志就知道了。

从我这边看到的错误是:

PHP Parse error:  syntax error, unexpected '}' in - on line 6
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号