如果我在PHP函数返回之前回显某些内容会发生什么?这方面的一个例子如下:
protected function getStockFromGarp($data) {
echo $data." stock returned from call ".$url;
return $data; // Returning $data for future date
}
public function updateStock($sku) {
$entry->this = getStockFromGarp($sku);
}
调用updateStock($ var)时,$entry->this
的值是什么?
答案 0 :(得分:1)
PHP将首先执行echo,然后返回$ data。 Echo输出数据但不会阻止PHP进行rparsing。
也许这会让它更清晰:
class Conversation
{
public $knowledge = array();
public function say($string)
{
// echo $string;
return $string;
}
public function listen($string)
{
$this->knowledge[] = $string;
}
}
$me = new Conversation();
$johnDoe = new Conversation();
$johnDoe->listen($me->say("I've got a secret"));
$me->listen($johnDoe->say("Tell me!"));
如果你使用echo,我会说我有一个秘密,但John Doe永远无法听到我的声音。
答案 1 :(得分:0)
结果($ entry-> this)与没有echo的结果相同。
答案 2 :(得分:0)
Echo输出数据,它不会返回数据。使用echo不会跳过return子句。它本身也不会编辑数据,因此您的$data
变量不会被更改,并且返回与用作参数时完全相同。