从 echo 中获取返回值
我正在使用一些 echo
输出的函数。但我需要它们的返回
,以便我可以在 PHP 中使用它们。
这有效(看起来很顺利),但我想知道,有更好的方法吗?
function getEcho( $function ) {
$getEcho = '';
ob_start();
$function;
$getEcho = ob_get_clean();
return $getEcho;
}
示例:
//some echo function
function myEcho() {
echo '1';
}
//use getEcho to store echo as variable
$myvar = getEcho(myEcho()); // '1'
I'm working with some functions that echo
output. But I need their return
so I can use them in PHP.
This works (seemingly without a hitch) but I wonder, is there a better way?
function getEcho( $function ) {
$getEcho = '';
ob_start();
$function;
$getEcho = ob_get_clean();
return $getEcho;
}
Example:
//some echo function
function myEcho() {
echo '1';
}
//use getEcho to store echo as variable
$myvar = getEcho(myEcho()); // '1'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不,我能想到的“捕获”回声语句的唯一方法是像您一样使用输出缓冲。我在代码中使用了一个非常相似的函数:
它只短了 2 行,并且功能完全相同。
no, the only way i can think of to "catch" echo-statements it to use output-buffering like you already do. i'm using a very similar function in my code:
it's just 2 lines shorter and does exactly the same.
您的第一个代码是正确的。不过可以缩短。
Your first code is correct. Can be shortened though.
你的第一段代码是唯一的方法。
Your first piece of code is the only way.
这些函数是你写的吗?您可以采用 3 种方法:
print_r() 的
标志。Did you write these functions? You can go 3 ways:
print_r()'s
flag.