【问题标题】:php Closure object how to read it?php Closure 对象如何读取呢?
【发布时间】:2012-10-04 00:34:49
【问题描述】:

我有这个代码,但我卡住了......

$my_var = function (){

  return array('hello you');
};

var_dump($my_var); // returns object(Closure)#2 (0) { }

我怎么echo $my_var

我会假设它是echo $my_var[0];但这不起作用。

Fatal error: Cannot use object of type Closure as array in ...

【问题讨论】:

  • PHP 总部的某个人应该因该错误消息而受到严重影响。这表明对封闭的理解严重不足。

标签: php closures


【解决方案1】:

闭包是一个函数。 因此你必须这样称呼它:

$myvar();

从 php5.4 开始使用数组访问:

 echo   $myvar()[0];

【讨论】:

  • 是的,谢谢,只是愚蠢:) 顺便说一句,$myvar()[0] 我读过这将在 php 上可用我不记得是哪个版本,但我绝对喜欢 PHP 的未来。
【解决方案2】:

$my_var 代表一个函数。您需要先调用它才能获取返回值。

【讨论】:

    【解决方案3】:

    尝试 print_r 它将打印数组或对象

    print_r($my_var);
    

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2018-03-07
      • 2016-11-16
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多