为这个程序的数组中未定义的索引问题做一个通用求解器


Make a general solver for the problem: undefined index in array for this program

我正在一个程序员团队中编写一个程序,并且已经决定对于一个特定的系统,我们将使用数组。在大多数使用中,数组中的所有索引都将被正确设置,但可能会出现未定义索引的情况。使用isset()或array_key_exists()会使代码太慢(因为我们需要大量的if和if,而if太慢)和太"脏"(太多的代码和重复的代码),所以两者都不是一个选择。我已经发现set_error_handler()函数,但我也不知道它是否是最好的选择。

主要目标:当特定数组导致未定义的索引时,必须捕获并解决它(将情况写入日志),并且脚本必须继续,就像什么都没有发生一样。最好的方法是什么?

注意:如果发生任何其他错误或警告,我希望PHP像以前一样处理它,我只希望这些东西被指定为具有该名称的特定数组。

我希望我说得够清楚了

你应该使用Exception

try{
    if(!isset($values[23])) throw new Exception("index not defined");
    // do dangerous stuff here
}catch(Exception $ex){
    //handle error
}
然而,理想的解决方案是首先确保这种情况永远不会发生。

考虑将代码放入try-catch语句中。在catch中,您可以记录错误。

http://php.net/manual/en/language.exceptions.php