Мой сценарий:
$exTime = get_cfg_var("session.gc_maxlifetime")?get_cfg_var("session.gc_maxlifetime"):1440;
Я хотел бы, чтобы это было как mysql:
$exTime = isnull(get_cfg_var("session.gc_maxlifetime"),1440);
или что-то подобное, которое также будет отлично проверять FALSE. Таким образом, мне нужно будет только один раз вызвать функцию!
Я знаю, что могу просто назначить его var, но это добавит еще одну строку в мой код (oh nooes !!). Это действительно косметическая вещь, я думаю, ее было бы легче читать. Во всяком случае, Google не помог мне (inb4 кто-то доказывает, что я ошибаюсь). Благодаря!
Начиная с PHP 5.3 вы также можете использовать короткий тернарный оператор :
$exTime = get_cfg_var("session.gc_maxlifetime") ?: 1440;
Это в основном ваша ожидаемая функциональность, но без объявления функции. В версиях PHP до 5.3 вы должны пойти с ответом Андре.
Имейте в виду, что вызов функции может вызывать предупреждения, если он собирается проверять массивы, в которых ключи не указаны:
$array = array( 0 => array( 0 => 100 ) ); $example = isNull($array[0][1], 200);
Как насчет добавления этой небольшой функции?
function isnull($var, $default=null) { return is_null($var) ? $default : $var; }
Я не знаю какой-либо функции, которая делает то, что вы хотите, но так как это не так сложно реализовать, вы также можете это сделать, если используете ее много.