Как избежать предупреждения о неопределенном индексе для цепочек значений «по умолчанию»?Php

Кемеровские программисты php общаются здесь
Anonymous
Как избежать предупреждения о неопределенном индексе для цепочек значений «по умолчанию»?

Сообщение Anonymous »


Предположим, я хочу проверить пару разных параметров, а затем вернуться к значению по умолчанию. Есть ли способ сделать это без уродливого и многословного написания isset()?< /п> Например, в JS мы можем сделать:

var someVariable = OtherVar || другаяВар || 'резервный вариант здесь';

Эквивалент в PHP будет выглядеть примерно так:

$someVariable = (isset($otherVar) ? $otherVar : (isset($anotherVar) ? $anotherVar : 'резервный вариант здесь'));

очевидно, что это беспорядок и ужасно читать.

Существует множество решений для отдельных резервных вариантов, например:

$someVariable = $otherVar ?: 'резервный вариант здесь';

но это не помогает мне требовать более одной проверки в строке.

Учитывая, что меня интересует только то, установлено ли значение или истинно (т. е. я рад, что 1 будет принят в качестве используемого значения, а 0/false/null будет пропущен и для следующего параметр в используемой цепочке), как лучше всего избежать предупреждения о неопределенном индексе?

На самом деле я бы делал это с массивами в большинстве случаев, но не во всех, и вполне вероятно, что это будут разные массивы. Возможно, я захочу сначала использовать $_POST, затем проверить $_GET под другим ключом, а затем вернуться, например, к строке по умолчанию.

Вернуться в «Php»