将函数返回值存储到变量中

时间:2014-07-21 19:26:27

标签: php wordpress

我正在使用Wordpress插件来自定义字段。

the_field('something')

是,我按下,只是回显返回值。

是否无法将该返回值存储到变量中?

因为$a = the_field('something');也在回应。

我真正想做的是这个

if(the_field('something')) { 
     // echo the_field('something')
}
else
    // do something

但无论如何,它只是在页面中回应那个东西

2 个答案:

答案 0 :(得分:2)

正如我在评论中所说,如果一个函数只是回声,那么就没有返回值。但仍有一种方法可以捕获输出。

考虑这个功能

function doStuff()
{
  echo 'hello';
}

您无法从中获取返回值,但您可以使用ob_functions捕获内容:

ob_start();
doStuff();
$output = ob_get_contents(); 
ob_end_clean();

现在$output包含该函数的输出,而不是它已被打印。

答案 1 :(得分:1)

WordPress我不喜欢。它们似乎有两个功能(或更多)用于检索任何东西。一个回复它the_title()而另一个回报它get_title()。对于这个插件,这应该工作:

if($field = get_field('something')) { 
     echo $field;
}
else
    // do something
}

如果你遇到的东西是回声并且没有返回一个值而没有相应的函数可以返回一些内容,那么:

ob_start();
the_something();
$output = ob_get_clean();
// use $output