【问题标题】:assign variable from print function in PHP [duplicate]从PHP中的打印函数分配变量[重复]
【发布时间】:2012-12-12 23:50:25
【问题描述】:

可能重复:
Possible to capture PHP echo output?

现在我有:

function showwish()
{
  echo 'happy new year';
}

我想分配$somevariable = showwish;

如何在没有任何错误的情况下完成此任务。

注意:不允许编辑showwish功能。

【问题讨论】:

    标签: php variable-assignment


    【解决方案1】:

    你应该有

    function showwish(){
        return 'happy new year';
    }
    

    然后是

    echo showwish();
    

    $fish = showwish();
    

    或者问更实际的问题

    【讨论】:

    • 请不要编辑showwish功能。只编辑 $somevariable=?
    【解决方案2】:
    function showwish()
    {
      ob_start();
      echo 'happy new year';
      return ob_get_clean();
    }
    

    或者如果你所做的只是返回一个字符串:

    function showwish()
    {
      return 'happy new year';
    }
    

    基于comment below by the OP that he cannot edit the showwish fn:

    ob_start();
    showwish();
    $someVar = ob_get_clean();
    

    【讨论】:

    • 似乎将缓冲置于函数之外可能更有意义。如果它在函数内部,您不妨使用字符串连接。 (除非最终目标是包含一个文件作为基本模板函数的一部分或其他东西——那么这是有道理的。)
    • 注:不允许编辑showwish功能
    【解决方案3】:
    function showwish() {
        return 'happy new year';
    }
    
    $somevariable = showwish();
    
    echo $somevariable;
    

    【讨论】:

      【解决方案4】:

      你可以像常量一样使用变量

      define('showwish', 'something');
      function showwish() {
          echo 'happy new year';
      }
      $somevariable = showwish;
      echo $somevariable;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-21
        • 2019-02-03
        • 2020-01-11
        • 1970-01-01
        • 2023-02-03
        • 2011-02-03
        • 1970-01-01
        相关资源
        最近更新 更多