Как избавиться от сотен неопределенных индексных уведомлений PHP?

Что они, которые пурист языка никогда, кажется, не понимает, являются смыслом C, и к C++ степени, дают возможность реализовать то, что Вы хотите и как Вы хотите его. Теперь по общему признанию, если бы результат Ваших изменений конечного выражения, было бы лучше просто использовать некоторое время цикл. Возможно, проблемой являются программисты, добираются, впечатление C реализует "высокий уровень" для, но все должны знать, что C является довольно низкоуровневым языком.

8
задан Jim 23 January 2014 в 14:45
поделиться

3 ответа

Я обычно использую троичные операторы в верхней части моих сценариев для инициализации значений.


$_GET['p'] = (isset($_GET['p']) ? $_GET['p'] : 'default');

Конечно, вы могли бы использовать более общий подход, но этот метод может оказаться проблематичным, поскольку разные переменные могут иметь разные значения по умолчанию.

13
ответ дан 5 December 2019 в 08:25
поделиться

Сначала проверьте элементы массива с помощью isset () или empty ().

Например,

if ((!empty($_GET['p'] && $_GET['p'] == "account.edit.topfriends") || 
    (!empty($_GET['action'] && $_GET['action'] == "newmember")) {
    //some more code here
}
0
ответ дан 5 December 2019 в 08:25
поделиться

Как упоминалось в rezzif, вам нужно проверить с помощью isset ( ) вызов. Если вы много используете массивы и не хотите возвращаться и добавлять кучу вызовов isset (), вы всегда можете использовать функцию. Примерно так:

function get_index($array, $index) {
  return isset($array[$index]) ? $array[$index] : null;
}

Затем вы можете изменить свой if-оператор на что-то вроде:

if (get_index($_GET, 'p') == "account.edit.topfriends" || get_index($_GET, 'action') == "newmember" || get_index($_GET, 'p') == "account.profile.name") {
  //some more code here
}

Если все выполняемые проверки относятся к $ _ GET , вы всегда можете исключить первый параметр функции и жестко указать $ _GET в нем,

7
ответ дан 5 December 2019 в 08:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: