Php 输出缓冲函数参数

Php 输出缓冲函数参数,php,function,output,buffering,output-buffering,Php,Function,Output,Buffering,Output Buffering,我有两个简单的PHP函数: <? function print_txt($text) { echo $text; } function store_data($name,$data){ define($name,$data); } ?> 我希望第二个函数存储数据,并在以后需要时使用它,但当我尝试将第一个函数作为参数时,它会直接打印它 例如:store_data('my_data',print_text('hello world') 当我重新加

我有两个简单的PHP函数:

<? 
  function print_txt($text) {
    echo $text;
  }

  function store_data($name,$data){
    define($name,$data);
  }
?>

我希望第二个函数存储数据,并在以后需要时使用它,但当我尝试将第一个函数作为参数时,它会直接打印它

例如:
store_data('my_data',print_text('hello world')
当我重新加载页面时,“hello world”字符串出现


有没有办法保存和控制数据?可能是输出缓冲之类的东西?

方法echo没有任何返回值。打印完成后,返回print_txt中的值:

return $text;

或者我没有收到你的问题吗?

在第一个函数中使用
return
,而不是
echo
,但是如果我只想使用第一个函数打印字符串/数字,它将不起作用?我希望你能完全得到我想要的,但是如果我只想使用第一个函数来打印字符串/数字,它就不能工作了?我希望你得到我想要的东西这也行。如果您不在输出缓冲块中,print_txt($txt)会回显$txt并返回它(返回值与此无关)。例如
store_data('my_data',print_text('hello world'),“hello world”将被回显并保存在常量“my_data”中。