如何将函数调用中的 echo 语句分配给变量?

Posted

技术标签:

【中文标题】如何将函数调用中的 echo 语句分配给变量?【英文标题】:How to assign the echo statement from a function call to a variable? 【发布时间】:2015-08-14 05:12:04 【问题描述】:

我正在尝试获取函数的回声并将值添加到变量中。

这就是我所做的。

function myfunction() 
   echo 'myvar';

然后我想把它变成这样的变量:

$myVariable = myfunction();

我认为这会工作,但我不工作。

这不是这样做的方法吗?如果没有,我该怎么做?

【问题讨论】:

【参考方案1】:

您可以在打开output buffering 时调用该函数,然后您可以捕获输出。例如

<?php

    ob_start();
    myfunction();
    $variable = ob_get_contents();
    ob_end_clean();

    echo $variable;

?>

输出:

myvar

或者您只需将echo 语句更改为return 语句。


您当前的版本不起作用,因为您没有从函数中返回值。并且由于您省略了 return 语句,因此返回值 NULL 并分配给您的变量。你可以这样做:

$variable = myfunction();
var_dump($variable);

输出:

NULL

【讨论】:

以上是关于如何将函数调用中的 echo 语句分配给变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何将从函数返回的布尔值分配给 PostgreSQL 9.4 中的变量?

在C语言中,如何给函数分配内存?

递归函数的内存分配

将函数的输出分配给R中的两个变量

如何使用 Java 中的参数运行 VBS 函数并将结果分配给变量

我如何使用bash将带有参数*的函数输出分配给变量?