我有PHP代码试图读取很多可能存在或不存在的值.每个失败的读取都会显示"未定义"错误.我可以用类似的东西来沉默它
if(!empty($meta['image_1_url'])) $image_1_url = $meta['image_1_url'];
Run Code Online (Sandbox Code Playgroud)
但我宁愿PHP不要抱怨他们.我已经注释掉了
<?php
//ini_set('display_errors', 1);
//error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)
我在页面顶部,但错误仍然打印出来.
有谁知道如何防止印刷错误?
error_reporting(E_ALL & ~E_NOTICE);
Run Code Online (Sandbox Code Playgroud)
以上将显示错误和警告,但不会显示通知.
https://secure.php.net/manual/en/function.error-reporting.php
请记住,通知可能很有用.通常,最好以这样的方式编写代码,除非出现问题,否则不应生成通知.
除了您提供的示例,您还可以使用三元运算符:
$image_1_url = isset($meta['image_1_url']) ? $meta['image_1_url'] : '';
Run Code Online (Sandbox Code Playgroud)
即使image_1_url未设置,上述代码也不会生成通知.
从PHP 7开始,您还可以使用Null Coalesce Operator
$image_1_url = $meta['image_1_url'] ?? '';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |