別のメソッドから配列をフェッチし、その配列の最初の要素を返すことがある、非常に広範囲に使用されるコードがあります。これが関数null
の許容可能な戻り値であるとするとisset()
、配列インデックスを呼び出す(または配列の長さをチェックするなど)パフォーマンスのオーバーヘッドに見合うだけの価値があるのでしょうか、それとも存在しないインデックスを返すだけの方がよいのでしょうか(警告は別として)。isset()
警告を防ぐ以外に電話をかけることの利点は何ですか。
以下の例は単純化されており、実際の関数は配列の最初の要素を取得するだけではありません。
存在しない可能性のあるリターンインデックス:
function get_array_element(){
$array = get_array(); // function that returns array
return $array[0]; // return index 0 which may not exist
}
インデックスが設定されているかどうかの確認との比較:
function get_array_element(){
$array = get_array(); // function that returns array
return (isset($array[0]))? // check if index 0 isset() else return null
$array[0] :
null;
}