Операторҳо

Ба дигарон равон намоед

Дар ҳама забонҳои барномасозӣ операторҳо барои иҷро намудани амалҳои гуногун аз болои тағйирёбандаҳо ва қимати онҳо истифода мешаванд. Мо ду операторро дар амал алакай дидем. Ин оператори пайвасткуни (.) ва оператори бахшидани қимат (=). Дар PHP операторҳо бисёранд. Якчанд гурӯҳҳои онҳоро меорем:
— оператори бахшидани қимат
— операторҳои арифметикӣ
— операторҳои муқоиса
— операторҳои сатрӣ


— омехтаи операторҳои арифметикӣ ва бахшидани қимат.

Оператори бахшидани қимат барои бахшидани ягон қимат ба тағйирёбанда ё бахшидани қимати як тағйирёбанда ба тағйирёбандаи дигар истифода мешавад. Мисол:

$my_var = 4;
$another_var = $my_var;

Дар натиҷаи иҷрои ин ду сатр ҳар ду тағйирёбанда $my_var ва $another_var ба қимати баробар ба 4 соҳиб мешаванд. Оператори бахшидани қимат ҳамроҳи оперторҳои арифметикӣ низ истифода мешавад.

Амалҳои арифметикӣ:

ОператорНомМисол
+Ҷамъ2 + 4
Тарҳ6 — 2
*Зарб5 * 3
/Тақсим15 / 3
%Модул ё бақия аз тақсими бутун43 % 10

namuna09.php

<?php
$x=6; $y=12;
echo «x=$x<br>»;
echo «y=$y<br>»;
$z=$x+$y;
echo «$x+$y=$z<br>»;
$z=$x-$y;
echo «$x-$y=$z<br>»;
$z=$x*$y;
echo «$x*$y=$z<br>»;
$z=$x/$y;
echo «$x/$y=$z<br>»;
$z=$x%$y;
echo «$x%$y=$z<br>»;
$z=$y%$x;
echo «$y%$x=$z<br>»;
?>

Барои муайян кардани муносибати байни тағйирёбандаҳову қиматҳо аз операторҳои муносибат (ё ки муқоисакунӣ) истифода мебаранд. Операторҳои муносибат ҳангоми тартиб додани шартҳо барои сохторҳои идоракунанда, ба мисли if ва for, татбиқи васеъ доранд. Дар ҷадвали зерин операторҳои муносибати дар PHP қабулшуда ва мисоли истифодаи онҳо оварда шудааст. Қабул мекунем, ки $x = 4 ва $y = 5 ҳастанд, пас

ОператорНомМисолНатича
==Баробар$x == $yFalse
!=Нобаробар$x != $yTrue
Хурд$x < $yTrue
Калон$x > $yFalse
<=Хурд ё баробар$x <= $yTrue
>=Калон ё баробар$x >= $yFalse

Дар барномасозӣ масъалаи такрор ба такрор афзоиш додани қимати ягон тағйирёбанда зуд-зуд пайдо мешавад. Агар зарур бошад, ки қимати ягон тағйирёбанда ба 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;
?>

Ҳакимов Раҳматҷон

Манба:   oftob.com

Маводҳои ҳамсон