0

私はプログラマーのチームでプログラムを作成していますが、特定のシステムではアレイを使用することが決定されました。ほとんどの用途では、配列内のすべてのインデックスが適切に設定され、未定義のインデックスが発生する可能性があります。isset()またはarray_key_exists()を使用すると、コードが遅くなりすぎ(ifとifが多く必要になるため)、「ダーティ」になりすぎる(コードが多すぎて繰り返しコードが多すぎる)ため、どちらもオプションではありません。私はすでにset_error_handler()関数を見つけましたが、それが最良のオプションであるかどうかもわかりません。

主な目的:その特定の配列が未定義のインデックスを引き起こす場合、それをキャッチして解決し(ログに状況を書き込む)、スクリプトは何も起こらなかったように続行する必要があります。それを行うための最良の方法は何ですか?

注:他のエラーや警告が発生した場合は、PHPに以前と同じように処理させたいので、その名前の特定の配列に対してのみこのようなものを作成します。

私は明らかに十分だったと思います

4

2 に答える 2

1

を使用する必要がありExceptionます

try{
    if(!isset($values[23])) throw new Exception("index not defined");
    // do dangerous stuff here
}catch(Exception $ex){
    //handle error
}

ただし、理想的な解決策は、これが最初から起こらないようにすることです。

于 2011-09-27T17:06:45.783 に答える
0

コードをtry-catchステートメントに入れることを検討してください。キャッチ内で、エラーをログに記録できます。

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

于 2011-09-27T17:11:34.463 に答える