有没有办法不返回PHP函数打印的值?
我基本上有两个与此相关的问题: 考虑类中的以下PHP函数,例如xyz.PHP有没有办法不返回PHP函数打印的值?,php,function,Php,Function,我基本上有两个与此相关的问题: 考虑类中的以下PHP函数,例如xyz.PHP function sendResponse(){ $car="Lambo"; echo $car; } function sendResponseTwo(){ $car="Lambo"; echo $car; return $car; } function getResponse(){ //case 1: $carName=$this->sendRespon
function sendResponse(){
$car="Lambo";
echo $car;
}
function sendResponseTwo(){
$car="Lambo";
echo $car;
return $car;
}
function getResponse(){
//case 1:
$carName=$this->sendResponse();
//ABOVE WON'T WORK AS THE FUNCTION RETURNS NOTHING.
//case 2:
$carName=$this->sendResponseTwo();
//THIS WILL PRINT THE NAME OF CAR
}
您需要使用输出缓冲:
ob_start();
$foo->sendResponse();
$response = ob_get_clean();
这就是为什么它最初不是一个实用的设计。如果您使函数始终返回值,则按照您的喜好执行这两项操作是很简单的:
$response=$foo->sendResponse();
echo$foo->sendResponse();
(最后一个选项是为了演示而共享的,并不打算就短开放标签展开激烈的战争。)您需要使用输出缓冲:
ob_start();
$foo->sendResponse();
$response = ob_get_clean();
这就是为什么它最初不是一个实用的设计。如果您使函数始终返回值,则按照您的喜好执行这两项操作是很简单的:
$response=$foo->sendResponse();
echo$foo->sendResponse();
(最后一个选项仅用于说明,并不打算就短开放标签展开激烈的战争。)回答您的两个问题,问题在于
输出缓冲区(ob)
,希望这将有助于您理解。在这里,我们使用三个函数ob_start()
将启动输出缓冲区,ob_end_clean()
将清理缓冲区的输出,ob_get_contents
将以字符串的形式输出,直到现在仍在回响。将帮助您更好地理解ob\u get\u内容
这两个问题的答案在于输出缓冲区(ob)
,希望这能帮助您理解。在这里,我们使用三个函数ob_start()
将启动输出缓冲区,ob_end_clean()
将清理缓冲区的输出,ob_get_contents
将以字符串的形式输出,直到现在仍在回响。将帮助您更好地理解ob\u get\u内容
输出缓冲。那是什么。有链接吗?试试这些吧,不要搞得一团糟,你只是让函数返回东西而不是打印它们?输出缓冲。那是什么。有链接吗?试试这些吧,不要搞得乱七八糟,你只是让函数返回东西而不是打印它们?