【问题标题】:output buffering a function parameter输出缓冲函数参数
【发布时间】:2015-05-04 11:20:56
【问题描述】:

我有两个简单的 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”字符串

有什么方法可以保存和控制数据吗?可能是输出缓冲之类的东西?

【问题讨论】:

  • 在第一个函数中使用return 而不是echo
  • 但如果我只想使用第一个函数来打印字符串/数字,它不会工作吗?我希望你得到我想要的

标签: php function output buffering output-buffering


【解决方案1】:

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

return $text;

或者我没有得到你的问题?

【讨论】:

  • 但如果我只想使用第一个函数来打印字符串/数字,它不会工作吗?我希望你得到我想要的
  • 这也可以。如果您不在输出缓冲块中,print_txt($txt) 会回显 $txt 并返回它(返回无关紧要)。以 store_data('my_data',print_text('hello world')); 为例,“hello world”将被回显并保存在常量“my_data”中。
猜你喜欢
  • 2014-04-27
  • 2011-06-01
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多