使用isset是一个附加的函数调用,但是仍然建议这样做。
在下面的特定示例中,什么会更快?
我觉得第一个会更快。否则,有人可以阐明为什么第二个更快吗?
if (@$_REQUEST['x']=='1'):
define ('X','1');
else:
define ('X','0');
endif;
//or
if (isset($_REQUEST['x'])):
if ($_REQUEST['x']=='1'):
define ('X','1');
else:
define ('X','0');
endif;
else:
define ('X','0');
endif;
最佳答案
最佳实践要求避免使用抑制运算符,因此请使用isset()。如果您对微优化有足够的关注以考虑差异,那么您应该知道PHP仍然可以处理抑制的错误,即使它们没有显示。理论上由@获得的任何优化都可能会因错误处理而丢失。
最佳实践还规定了从外部来源获取输入的特异性。我还建议选择$ _POST或$ _GET作为替代方案。
关于php - 哪种方法会更快?错误抑制@ $ _ REQUEST ['x']或通过isset($ _ REQUEST ['x']),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753895/