Два оператора if, использующие троичное условие - PullRequest
2 голосов
/ 03 августа 2011

Название выглядит запутанным, но я впервые использую троичные условия.Я читал, что троичный предназначен для использования в качестве встроенного оператора if / else.Использование другого не возможно.Это правда?

Я хочу поменять это на троичное условие для практики

if (isset($_SESSION['group']
{
if ($_SESSION['item'] == 'A')
{
echo "Right!";
}
}

У него есть только два оператора if.Второе, если вложено с другим.Я также читал, что для тройного невозможно сделать что-либо еще, для этого нужно просто установить нулевую или пустую строку.

Ответы [ 5 ]

5 голосов
/ 03 августа 2011
echo (isset($_SESSION['group']) && $_SESSION['item'] == 'A') ? "Right" : ""

Еще лучше (читаемый, поддерживаемый), используйте:

if (isset($_SESSION['group']) && $_SESSION['item'] == 'A')
{
   echo "Right!";
}
4 голосов
/ 03 августа 2011

Это плохой пример, потому что вы можете использовать оператор AND для вложенного типа, если:

$result = isset($_SESSION['group'] && $_SESSION['item'] == 'A' ? true : false;

Конечно, вы также можете вкладывать троичного оператора:

$result = isset($_SESSION['group'] ? ( $_SESSION['item'] == 'A' ? true : false ) : false;

с эхом

echo  isset($_SESSION['group'] ? ( $_SESSION['item'] == 'A' ? "Right!" : "false" ) : "false";
1 голос
/ 03 августа 2011

В качестве примера вы можете вложить два троичных оператора:

echo (isset($_SESSION['group']))?($_SESSION['item']== 'A')?'Right!':null:null;
1 голос
/ 03 августа 2011
isset($_SESSION['group'] ? (if ($_SESSION['item'] == 'A') ? echo "Right" : null) : null

Попробуйте, я думаю, это может сработать =].

Для дальнейшего чтения о троичных условиях в Java / что бы вы ни использовали, посмотрите http://www.devdaily.com/java/edu/pj/pj010018

0 голосов
/ 03 августа 2011

Знаете ли вы, что вы можете сделать это?(isset($_SESSION['group']) && ($_SESSION['item']=='A')) &&($result$c= 1); или echo (isset($_SESSION['group']) && ($_SESSION['item']=='A')) ? 'Hello!':'World!';

...