Что они, которые пурист языка никогда, кажется, не понимает, являются смыслом C, и к C++ степени, дают возможность реализовать то, что Вы хотите и как Вы хотите его. Теперь по общему признанию, если бы результат Ваших изменений конечного выражения, было бы лучше просто использовать некоторое время цикл. Возможно, проблемой являются программисты, добираются, впечатление C реализует "высокий уровень" для, но все должны знать, что C является довольно низкоуровневым языком.
Я обычно использую троичные операторы в верхней части моих сценариев для инициализации значений.
$_GET['p'] = (isset($_GET['p']) ? $_GET['p'] : 'default');
Конечно, вы могли бы использовать более общий подход, но этот метод может оказаться проблематичным, поскольку разные переменные могут иметь разные значения по умолчанию.
Сначала проверьте элементы массива с помощью isset () или empty ().
Например,
if ((!empty($_GET['p'] && $_GET['p'] == "account.edit.topfriends") ||
(!empty($_GET['action'] && $_GET['action'] == "newmember")) {
//some more code here
}
Как упоминалось в 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 в нем,