Приглашаем посетить
Салтыков-Щедрин (saltykov-schedrin.lit-info.ru)

Использование ternary-оператора

Использование ternary-оператора

Вообще-то, этот оператор на самом деле есть последовательность операторов. Его использование выглядит следующим образом:

CONDITION-PART ? TRUE-PART : FALSE-PART

Это, в свою очередь, является сокращением от вот такого кода:

if (CONDITION-PART) {
TRUE-PART
} else {
FALSE-PART
}

Опять же, вы ничего не узнаете о практическом применении этого оператора, пока не дойдете до главы 7 "Операторы управления".

Работает все это следующим образом: проверяется условие "CONDITION-PART", если оно истинно, то выполняется часть "TRUE-PART", если же оно ложно, то выполняется часть "FALSE-PART".

Данный оператор часто также называют условным оператором. Пример использования:

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

$secondVar = ($firstVar == 0) ? 0 : $array[0];

здесь переменной $secondVar будет присвоено значение: 0 - если переменная $firstVar равна 0, и $array[0] (первый элемент массива $array) - если переменная не равна нулю.

Вы можете использовать вложенную форму данного оператора:

$firstVar = $temp == 0 ?
$numFiles++ :
($temp == 1 ?
$numRecords++ :
($temp == 3 ? $numBytes++ : $numErrors++));

А вот еще более странное (на первый взгляд) использование этого оператора:

$firstVar = 1;
$secondVar = 1;
$thirdVar = 1;
($thirdVar == 0 ? $firstVar : $secondVar) = 10;
print "$firstVar\n";
print "$secondVar\n";
print "$thirdVar\n";

в зависимости от значения переменной $thirdVar значение 10 может присваиваться одной из двух переменных - $firstVar и $secondVar.

Результатом работы программы будет: 1, 10, 1

Назад | Оглавление | Далее