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

11.5. Совмещенные выражения

Вы уже знаете, что для того чтобы увеличить значение $a на единицу, можно написать $а++ или ++$а. Если следует увеличить значение больше, чем на единицу, можно написать $а++ несколько раз, но это не очень удобно и эффективно. Намного больше распространено написание $а = $а + 3 . $а + 3 вычисляется, как значение $a плюс 3, а затем присваивается переменной $а, в результате чего значение $аувеличивается на 3. В РНР также, как и в ряде других языков типа С, можно записать это короче: $а+=3. Это значит следующее: возьми значение $а, добавь к нему 3 и присвой это обратно $а. Кроме того, что это понятнее, такой тип выражений быстрее исполняется. Значение $а+=3, как и значение обычного присваивания, — это присвоенное значение. Заметьте, что оно не равно 3, а является общим значением $a и 3. Любой бинарный (имеющий 2 операнда) оператор может быть записан таким методом, например: $а-=5 (вычесть 5 из значения $а), $b *= 7 (умножить значение $b на 7) и т. д.

Пример 11.8. Совмещенные выражения

<?

$а = 8;

$b = 6;

$c = 4;

$d = 10;

$t = 12;

$е = 14;

$а *= 2; echo $а; // умножить и присвоить

$b /= 3; echo $b; // разделить и присвоить

$с += 2; echo $с; // сложить и присвоить

$d -= 3; echo $d; // вычесть и присвоить

$t <<= 1; echo $t; // побитовый сдвиг влево на 1 бит

$е >>= 2; echo $е; // побитовый сдвиг вправо на 2 бита

?>

Думаем, не стоит объяснять полученный результат. Далее вы сможете изучить принципы данных выражений более полно на основании примеров. Подобным образом можно комбинировать присваивание с любыми операциями, если результат присваивается одному из операндов. Делать такие подстановки совершенно не обязательно — язык это позволяет, но не требует.

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