создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

Операторы инкремента и декрементаПред.Глава 15. ОператорыСлед.

Операторы инкремента и декремента

PHP, аналогично C, поддерживает префиксные и постфиксные операторы инкремента и декремента.

Таблица 15-5. Операторы инкремента и декремента

ПримерНазваниеДействие
++$aПрефиксный инкрементУвеличивает $a на единицу и возвращает значение $a.
$a++Постфиксный инкрементВозвращает значение $a, а затем увеличивает $a на единицу.
--$aПрефиксный декрементУменьшает $a на единицу и возвращает значение $a.
$a--Постфиксный декрементВозвращает значение $a, а затем уменьшает $a на единицу.

Приведем пример простого скрипта:

<?

echo "<h3>Постфиксный инкремент</h3>";

$a = 5;

echo "Должно быть 5: " . $a++ . "<br>\n";

echo "Должно быть 6: " . $a . "<br>\n";

echo "<h3>Префиксный инкремент</h3>";

$a = 5;

echo "Должно быть 6: " . ++$a . "<br>\n";

echo "Должно быть 6: " . $a . "<br>\n";

echo "<h3>Постфиксный декремент</h3>";

$a = 5;

echo "Должно быть 5: " . $a-- . "<br>\n";

echo "Должно быть 4: " . $a . "<br>\n";

echo "<h3>Префиксный декремент</h3>";

$a = 5;

echo "Должно быть 4: " . --$a . "<br>\n";

echo "Должно быть 4: " . $a . "<br>\n";

?>

PHP следует соглашениям Perl (в отличие от С) касательно выполнения арифметических операций с символьными переменными. Например в Perl 'Z'+1 будет вычислено как 'AA', в то время как в C 'Z'+1 будет вычислено как '[' (ord('Z') == 90, ord('[') == 91). Следует учесть, что к символьным переменным можно применять операцию инкремента, в то время как операцию декремента применять нельзя.

Пример 15-2. Арифметические операции с символьными переменными

<?

$i = 'W';

for($n=0; $n<6; $n++)

echo ++$i . "\n";

/*

Результат работы будет следующий:

X

Y

Z

AA

AB

AC

*/

?>

Инкрементирование или декрементирование булевых переменных не приводит ни к какому результату.

Пред.

Начало

След.

Операторы исполнения

Уровень выше

Логические операторы

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting