Как избежать предупреждения о неопределенном индексе для цепочек значений «по умолчанию»? ⇐ Php
Как избежать предупреждения о неопределенном индексе для цепочек значений «по умолчанию»?
Предположим, я хочу проверить пару разных параметров, а затем вернуться к значению по умолчанию. Есть ли способ сделать это без уродливого и многословного написания isset()?< /п> Например, в JS мы можем сделать:
var someVariable = OtherVar || другаяВар || 'резервный вариант здесь';
Эквивалент в PHP будет выглядеть примерно так:
$someVariable = (isset($otherVar) ? $otherVar : (isset($anotherVar) ? $anotherVar : 'резервный вариант здесь'));
очевидно, что это беспорядок и ужасно читать.
Существует множество решений для отдельных резервных вариантов, например:
$someVariable = $otherVar ?: 'резервный вариант здесь';
но это не помогает мне требовать более одной проверки в строке.
Учитывая, что меня интересует только то, установлено ли значение или истинно (т. е. я рад, что 1 будет принят в качестве используемого значения, а 0/false/null будет пропущен и для следующего параметр в используемой цепочке), как лучше всего избежать предупреждения о неопределенном индексе?
На самом деле я бы делал это с массивами в большинстве случаев, но не во всех, и вполне вероятно, что это будут разные массивы. Возможно, я захочу сначала использовать $_POST, затем проверить $_GET под другим ключом, а затем вернуться, например, к строке по умолчанию.
Предположим, я хочу проверить пару разных параметров, а затем вернуться к значению по умолчанию. Есть ли способ сделать это без уродливого и многословного написания isset()?< /п> Например, в JS мы можем сделать:
var someVariable = OtherVar || другаяВар || 'резервный вариант здесь';
Эквивалент в PHP будет выглядеть примерно так:
$someVariable = (isset($otherVar) ? $otherVar : (isset($anotherVar) ? $anotherVar : 'резервный вариант здесь'));
очевидно, что это беспорядок и ужасно читать.
Существует множество решений для отдельных резервных вариантов, например:
$someVariable = $otherVar ?: 'резервный вариант здесь';
но это не помогает мне требовать более одной проверки в строке.
Учитывая, что меня интересует только то, установлено ли значение или истинно (т. е. я рад, что 1 будет принят в качестве используемого значения, а 0/false/null будет пропущен и для следующего параметр в используемой цепочке), как лучше всего избежать предупреждения о неопределенном индексе?
На самом деле я бы делал это с массивами в большинстве случаев, но не во всех, и вполне вероятно, что это будут разные массивы. Возможно, я захочу сначала использовать $_POST, затем проверить $_GET под другим ключом, а затем вернуться, например, к строке по умолчанию.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Drupal Как исправить уведомление об unserialize() и неопределенном индексе?
Anonymous » » в форуме Php - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-