[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Записать одной строкой проверку и присвоение
skolozhabskiy
можно ли записать следующий код более оптимально, например, одной строкой :

	 if (isset($_GET['subcat'])) {
$subcat = $_GET['subcat'];
}
if (isset($_SESSION['subcat'])) {
$subcat = $_SESSION['subcat'];
}
else {
$subcat = null;
}


типа :

 $subcat = isset($_GET['subcat']) ? $_GET['subcat'] : null;


тогда как в эту строку вставить еще и $_SESSION['subcat']?

что-то вроде:



$subcat = (isset($_GET['subcat'])) || (isset($_SESSION['subcat'])) ? $_GET['subcat'] ? $_SESSION['subcat'] : null;


спасибо



Спустя 1 час, 28 минут, 51 секунда (13.05.2011 - 18:25) walerus написал(а):
оно то красиво получается, в строку, но потом найти что либо будет ппц как интересно )))

Спустя 9 минут, 40 секунд (13.05.2011 - 18:35) skolozhabskiy написал(а):
так что есть вариант или вариантов нет? интересно же как профессионалы в таких случаях пишут :-)

спасибо

Спустя 9 минут, 16 секунд (13.05.2011 - 18:44) inpost написал(а):
Если бы ты больше ориентировался в своём скрипте, то понял бы, что первая проверка пустая, её вторая проверка затирает, ты никогда не получишь эту строчку: $subcat = $_GET['subcat']; .

Спустя 17 минут, 14 секунд (13.05.2011 - 19:02) skolozhabskiy написал(а):
то есть так:

$subcat = (isset($_SESSION['subcat']) ? $_GET['subcat'] ? $_SESSION['subcat'] : null;

тогда есть ли смысл присваивания $_GET['subcat'] или нет? первоначально то значение берется от $_GET['subcat'].

спасибо

Спустя 11 минут (13.05.2011 - 19:13) inpost написал(а):
skolozhabskiy
Если есть сессия, то суб = сессии, если нету сессии, то NULL.
Твоему коду пофиг, была ли ранее проверка на $_GET, ты просто переменную переопределил, и первое условие ПУСТОЕ!

Спустя 1 час, 55 минут, 58 секунд (13.05.2011 - 21:09) skolozhabskiy написал(а):
спасибо, разобрался

Спустя 2 часа, 55 минут, 48 секунд (14.05.2011 - 00:04) inpost написал(а):
skolozhabskiy
На всякий случая, вот множественный запрос в такую строчку.
$var = (isset($lala) ? (!empty($b) ? 'lala+b' : 'lala-b') : 'no_lala');
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.