Допустим есть массив-конфиг php приложения. Есть настройки debug:
'debug' => array(
'enabled' => true,
'level' => -1,
),
Обрабатывая опцию enabled, я могу написать так:
// Вариант 1 - Длинный и наверное правильный
if(array_key_exists('enabled',$debug)) {
$isDisplayErrors = $debug['enabled'];
} else {
$isDisplayErrors = false; // default
}
ini_set('display_errors', $isDisplayErrors);
//Вариант 2 - Короче и наверное правильный
ini_set('display_errors', ((array_key_exists('enabled',$debug)) ? $debug['enabled'] : false);
//Вариант 3
ini_set('display_errors', $debug['enabled'] === true);
Вариант номер 3, который мне очень нравится лаконичностью, вызовет notice, если ключ будет отсутствовать. Концептуально, что еще плохого в данном подходе, помимо засорения вывода нотисами в дебаг режиме ?