我正在使用echo
输出的一些函数。但我需要他们的return
所以我可以在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'
答案 0 :(得分:10)
不,我能想到的唯一方法是“捕获”echo-statements,它就像你已经使用的那样使用输出缓冲。我在我的代码中使用了一个非常相似的函数:
function return_echo($func) {
ob_start();
$func;
return ob_get_clean();
}
它只有2行,并且完全相同。
答案 1 :(得分:6)
您的第一个代码是正确的。可以缩短。
function getEcho($function) {
ob_start();
$function;
return ob_get_clean();
}
echo getEcho($function);
答案 2 :(得分:2)
你的第一段代码是唯一的方法。
答案 3 :(得分:1)
你写过这些功能吗?你可以采取三种方式:
print_r()'s
标志一样。