Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

11.6. Выражения условных операторов

Следующие выражения могут показаться вам незнакомыми, если вы не встречались с ними в других языках, — условный оператор с тремя операндами:

$first ? $second : $third

Если значение первого выражения истинно (не равно 0), то исполняется второе выражение, и это является результатом данного условного выражения. Иначе исполняется третий оператор.

Иногда очень удобно пользоваться конструкцией

<? if ($test !=''): ?>

вместо правильной

<? if (isset($test) && $test != w): ?>

потому что первая запись короче. В первом случае если переменная $test не будет определена, то ее значение будет пустой строкой. Логично считать, что «никакая» строка — это тоже пустая. Подобная фраза может вызвать предупреждение о синтаксической ошибке, но это бывает редко.


СОВЕТ

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


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

<?

function double($i) // функция удваивания переменной

{

    return $i*2;

}$b = $а = 5; // присваиваем значения переменным $а и $b

$с = $а++; // последующее увеличение, присваиваем $с

        // начальное значение $а (5)

$е = $d = ++$b; // предварительное увеличение, присваиваем $d и $е

            // увеличенное значение $b (6)

            // тут и $d, и $е равны 6

$f = double($d++); // присваиваем удвоенное значение $d

            //до его увеличения,

            //т.е. 2*6 =12, переменной $f

$g = double(++$e); // присваиваем удвоенное значение $е

            // после его увеличения,

            //т.е. 2*7 = 14, переменной $e

$h = $e += 10; // сначала увеличиваем значение $e на 10,

        // что дает в результате 24, а затем присваиваем

        // это значение переменной $h, что также дает 24

?>

Выражения могут быть операторами. Впрочем, не каждое выражения является оператором. В данном примере оператор имеет форму выражение ;,т. е. выражение, за которым следуетточка с запятой. В $b = $а = 5; $а = 5 — это правильное выражение, но само по себе оно не является оператором. А вот $b = $а = 5; является правильным оператором.

<< Предыдущий параграф Следующий параграф >>
Оглавление