PHP. Операторҳо. Қисми 2

Печать

Дар барномасозӣ масъалаи такрор ба такрор афзоиш додани қимати ягон тағйирёбанда зуд-зуд пайдо мешавад. Агар зарур бошад, ки қимати ягон тағйирёбанда ба 1 воҳид зиёд карда шавад, ин амал чунин иҷро карда мешавад:

$counter = $counter + 1; 

Шакли мухтасари ин амал низ мавҷуд аст:

$counter += 1; 

Оператори += ин омехтаи операторҳои арифметикӣ ва бахшидани қимат аст. Ин оператор масъалаи 1 воҳид зиёд намудани қимати тағйирёбандаи $counter-ро иҷро мекунад. Албатта чунин шакли омехта намуди кодро мураккабтар мегардонад, лекин миқдори кофии машқ ва такроркунӣ барномасозро омӯхта месозад ва имконияти офаридани коди мухтасарро медиҳад.

ОператорНомМисолАмали баробарқувва
+= Ҷамъ-баробар $x += 2; $x = $x + 2;
-= Тарҳ-баробар $x -= 4; $x = $x - 4;
*= Зарб-баробар $x *= 3; $x = $x * 3;
/= Тақсим-баробар $x /= 2; $x = $x / 2;
%= Модул-баробар $x %= 5; $x = $x % 5;
.= Пайвасткунӣ-баробар $my_str.="hello"; $my_str = $my_str . "hello";

namuna10.php

<?php 
$y=7;
$x=5;
echo "<P>x=$x, y=$y, +<br>";
$x=$x+$y;
echo "$x<br>";
$x=5;
echo "x=$x, y=$y<br>";
$x+=$y;
echo "$x<br>";
$x=5;
echo "<P>x=$x, y=$y, -<br>";
$x=$x-$y;
echo "$x<br>";
$x=5;
echo "x=$x, y=$y<br>";
$x-=$y;
echo "$x<br>";
$x=5;
echo "<P>x=$x, y=$y, *<br>";
$x=$x*$y;
echo "$x<br>";
$x=5;
echo "x=$x, y=$y<br>";
$x*=$y;
echo "$x<br>";
$x=5;
echo "<P>x=$x, y=$y, /<br>";
$x=$x/$y;
echo "$x<br>";
$x=5;
echo "x=$x, y=$y<br>";
$x/=$y;
echo "$x<br>";
$x=5;
echo "<P>x=$x, y=$y, %<br>";
$x=$x%$y;
echo "$x<br>";
$x=5;
echo "x=$x, y=$y<<br>";
$x%=$y;
echo "$x<br>";
?>

Барои масъалаи як воҳид зиёд намудани қимати тағйирёбанда ҳалли боз ҳам кӯтоҳтар мавҷуд аст. Барои ба тағйирёбанда 1 воҳид ҷамъ кардан (increment) аз оператори инкремент "++" истифода мебаранд:
$x++;
ки ин баробарқувва аст ба $x += 1;
ё
$x = $x + 1;
Барои аз тағйирёбанда 1 воҳидро тарҳ кардан (decrement) аз оператори декремент "--" истифода мебаранд:
$x--;
ки ин баробарқувва аст ба
$x -= 1;
ё
$x = $x - 1;

Бар замми ин гуфтан зарур аст, ки имконияти аниқ кардани:
- иҷро шудани амали инкремент пеш аз иҷрои сатре, ки дар он ин оператор омадааст (++$x; пре-инкремент)
ё
- иҷро шудани инкремент баъди иҷрои сатре, ки дар он ин оператор омадааст ($x++; пост-инкремент) мавҷуд аст.

Айнан ҳамин хел, имконияти аниқ кардани:
- иҷро шудани амали декремент пеш аз иҷрои сатре, ки дар он ин оператор омадааст (--$x; пре-декремент)
ё
- иҷро шудани декремент баъди иҷрои сатре, ки дар он ин оператор омадааст ($x--; пост-декремент) мавҷуд аст. Фарқи ин амалҳоро кушиш мекунем, ки дар мисоли зерин нишон диҳем:
namuna11.php

<?php 
$x = 4;
echo "The value of x with post-plusplus = " . $x++;
$x = 4;
echo "<br />The value of x with with pre-plusplus = " . ++$x;
?>

САВОЛҲО БАРОИ МУСТАҲКАМКУНӢ
1. Барномае нависед, ки дар он операторҳои инкремент ва декремент истифода мешаванд.
2. Мисолеро оред, ки дар он истифодаи оператори пре-инкремент мувофиқи мақсад аст.
3. Мисолеро оред, ки дар он истифодаи оператори пост-декремент мувофиқи мақсад аст.

Добавить комментарий


Защитный код
Обновить

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.