下一个代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<label>
<input type="checkbox" data-bind="checked: allChecked">
all
</label>
<ul data-bind="foreach: items">
<li>
<label>
<input type="checkbox" data-bind="checked: checked"/>
<span data-bind="text: 'Item ' + id"></span>
</label>
</li>
</ul>
运行完美并返回错误数组。
但是当我使用set_error_handler时,它会返回$a["x"];//should trigger notice
var_dump(error_get_last());//return the error array
null
这段代码完全适用于PHP5.4我在3个月前更改为PHP7,从那以后我在function _do_nothing(){}
set_error_handler('_do_nothing');
$a["x"];//should trigger notice
var_dump(error_get_last());//return null
中得到空值
我正在使用关闭功能来检查是否发生了错误,如果是,则将其发送给开发人员。
答案 0 :(得分:0)
这是正常行为,因为在您的示例中,错误已由_do_nothing()
函数处理,因此error_get_last()
返回null
如果您删除set_error_handler('_do_nothing')
错误将不再处理,您将再次收到错误
function _do_nothing(){}
//set_error_handler('_do_nothing');
$a["x"];//should trigger notice
var_dump(error_get_last());//return array() "Undefined variable: a"
PHP5中的行为与PHP7中的行为相同