php - 哪种方法会更快?错误抑制@ $ _ REQUEST ['x']或通过isset($ _ REQUEST ['x'])

标签 php error-handling isset

使用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/

相关文章:

php - 如何使用 symfony 5 或降级版本到 4.4 启动本地服务器?

python - 如何抑制 Python AttributeError?

python - 关于幅度的语法错误

php - 如何在php中提交表单时使用isset输入为数组分配多个值

php - 如果设置则添加到数组

javascript - 没有 TypeError 的深度 Javascript 检查是否未定义

php - 无法使用 window.print() 函数打印表格边框

java - php 的 array_multisort 函数相当于 java 中的函数

Google 无法抓取 PHP 生成的图像?

c# - C#无法在类中创建自定义RichTextBox