PHP echo函数返回值vs echo函数内部

Kar*_*arl 8 php

通常,我会写一个这样的函数:

function alertClass($field,$full=false){
 global $formErrors;
 $html = $full ? ' class="alert"' : ' alert';
 if (!empty($formErrors[$field])) return $html;
}
Run Code Online (Sandbox Code Playgroud)

然后我希望html显示我将回显函数的返回值,如下所示:

echo alertClass('somefield')
Run Code Online (Sandbox Code Playgroud)

但今天我在想为什么不把回声放在函数中而不是使用它的返回值?因此,不是"返回$ html",而是"echo $ html"......对于这种或那种方式是否有优势?

小智 8

例如,当您从函数中回显文本时就像这样......

function yourStatus(){
   echo ' Done';
}

echo 'Status ='. yourStatus();
Run Code Online (Sandbox Code Playgroud)

你的输出看起来像这样

"DoneStatus ="
Run Code Online (Sandbox Code Playgroud)

代替

"Status = Done"
Run Code Online (Sandbox Code Playgroud)

干杯


Ric*_*dle 6

使用echopreculdes使用该函数以编程方式构建一些HTML以便稍后输出或进行进一步处理.

如果在你的情况下返回HTML没有任何缺点,我会继续这样做.它增加了灵活性.


sha*_*mar 0

如果您不再在任何地方使用返回值,那么直接echoing 更好。