در این درس با عملگرهای PHP آشنا می شویم. تمام اپراتورها و حوزه های استفاده از آنها را در PHP به طور کامل و با ذکر مثال توضیح دادیم.
به کاراکترها یا کلماتی که بین یک یا چند مقدار عملیات انجام می دهند، عملگر یا عملگر می گویند. کلمه انگلیسی اپراتور عملگر است و در ترکی به اپراتور معروف است. اما برخی منابع از آن به عنوان اپراتور یاد می کنند. هر دو معنای یکسانی دارند.
اپراتورهای PHP
PHP عملگرهای حسابی
عملگرهای محاسباتی PHP با مقادیر عددی برای انجام عملیات حسابی رایج مانند جمع، تفریق، ضرب استفاده می شوند.
| اپراتور | نام | مثال |
| + | اضافه شدن | $a + $b |
| - | تفریق | $a - $b |
| * | ضرب | $a * $b |
| / | تقسیم | $a / $b |
| % | مدول (مدول) | $a % $b |
مثالهای عملگر حسابی PHP
با عملگر جمع 2 مقدار اضافه می کنیم. در این مثال از عملگر افزودن php استفاده کردیم:
echo 2+4; // Çıktı: 6با عملگر تفریق یک مقدار را از مقدار دیگر کم می کنیم. در این مثال از عملگر تفریق php استفاده کردیم:
echo 5-2; // Çıktı: 3با عملگر تقسیم یک مقدار را بر مقدار دیگر تقسیم می کنیم. در این مثال از عملگر php split استفاده کردیم:
echo 6/2; // Çıktı: 3با عملگر ضرب یک مقدار را در مقدار دیگر ضرب می کنیم. در این مثال از عملگر ضرب php استفاده کردیم:
echo 5*2; // Çıktı: 10با عملگر مدول، وقتی یک مقدار بر مقدار دیگری تقسیم می شود، باقیمانده را پیدا می کنیم. در این مثال از عملگر ماژول php استفاده کردیم:
echo 7%2; // Çıktı: 1اپراتورهای تعیین PHP
عملگرهای انتساب PHP برای تخصیص مقادیر استفاده می شوند.
| اپراتور | نام | مثال |
| = | تکلیف | $a = $b |
| += | جمع آوری و دور انداختن | $a +=4 |
| -= | تفریق و اختصاص دهید | $a -=4 |
| *= | تقسیم و اختصاص دهید | $a /=4 |
| *= | ضرب و تخصیص | $a *=4 |
| %= | ماژول و اختصاص دهید | $a%=4 |
مثالهای اپراتور تعیین PHP
ما مقدار سمت راست را به عملوند چپ با عملگر مساوی نسبت دادیم.
$a = 20;مجموع متغیرهای چپ و راست را با عملگر add and assign به متغیر اختصاص دادیم.
$a = 10;
$b = 15;
$a += $b; // $a değişkeninin değeri 25
// Üst satırdaki ifade ile $a = $a + $b ifadesi aynı.با عملگر تفریق و انتساب، نتیجه تفریق مقدار متغیر سمت راست را از مقدار متغیر سمت چپ به متغیر اختصاص دادیم.
$a = 20;
$b = 10;
$a -= $b; // $a değişkeninin değeri 10
// Üst satırdaki ifade ile $a = $a - $b ifadesi aynı.با عملگر تقسیم و انتساب، ما به متغیر نتیجه می دهیم که چند برابر مقدار متغیر سمت چپ را می توان بر مقدار متغیر سمت راست تقسیم کرد.
$a = 12;
$b = 4;
$a /= $b; // $a değişkeninin değeri 3
// Üst satırdaki ifade ile $a = $a / $b ifadesi aynı.با عملگر ضرب و انتساب، نتیجه حاصل از ضرب دو مقدار متغیر را به متغیر اختصاص دادیم.
$a = 2;
$b = 2;
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.با استفاده از ماژول و عملگرهای تخصیص، زمانی که مقدار متغیر سمت چپ بر مقدار متغیر سمت راست تقسیم شد، باقیمانده متغیر را به آن اختصاص دادیم.
$a = 8;
$b = 3;
$a %= $b; // $a değişkeninin değeri 2
// Üst satırdaki ifade ile $a = $a % $b ifadesi aynı.اپراتورهای مقایسه PHP
عملگرهای مقایسه PHP برای مقایسه دو مقدار استفاده می شوند.
| اپراتور | نام | مثال |
| == | برابر | $a == $b |
| === | معادل | $a === $b |
| != | مساوی نیست (برابر نیست) | $a != $b |
| !== | یکسان نیست | $a !== $b |
| <> | مساوی نیست (برابر نیست) | $a <> $b |
| > | بزرگتر از | $a > $b |
| < | کمتر از | $a < $b |
| >= | بزرگتر یا مساوی با | $a >= $b |
| <= | کمتر یا مساوی با (کمتر یا مساوی) | $a <= $b |
مثالهای اپراتور مقایسه PHP
ما برابری دو مقدار را با عملگر مساوی بررسی کردیم.
$a = 4;
$b = 2;
if ($a == $b) {
echo "A, B'ye eşittir";
} else {
echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildirما معادل بودن دو مقدار را با عملگر یکسان بررسی کردیم.
$a = 4;
$b = '4';
if ($a === $b) {
echo "A, B'ye denktir";
} else {
echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildirما نابرابری دو مقدار را با عملگر غیر برابر بررسی کردیم.
$a = 4;
$b = 3;
if ($a != $b) {
echo "A, B'ye eşit değildir";
} else {
echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildirما نابرابری دو مقدار را با عملگر غیر یکسان بررسی کردیم.
$a = 4;
$b = '4';
if ($a !== $b) {
echo "A, B'ye denk değildir";
} else {
echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildirما نابرابری دو مقدار را با عملگر غیر برابر بررسی کردیم.
$a = 4;
$b = 2;
if ($a <> $b) {
echo "A, B'ye eşit değildir";
} else {
echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildirما بررسی کردیم که آیا مقدار سمت چپ با عملگر بزرگتر از مقدار سمت راست بیشتر است یا خیر.
$a = 4;
$b = 2;
if ($a > $b) {
echo "A, B'den daha büyüktür";
} else {
echo "A, B'den daha büyük değildir";
}
// Çıktı: A, B'den daha büyüktürما بررسی کردیم که آیا مقدار سمت چپ با عملگر کمتر از مقدار سمت راست کوچکتر است یا خیر.
$a = 2;
$b = 4;
if ($a < $b) {
echo "A, B'den daha küçüktür";
} else {
echo "A, B'den daha küçük değildir";
}
// Çıktı: A, B'den daha küçüktürما بررسی کردیم که آیا مقدار سمت چپ بزرگتر یا مساوی با مقدار سمت راست با عملگر بزرگتر یا مساوی است.
$a = 4;
$b = 2;
if ($a >= $b) {
echo "A, B'den daha büyüktür veya eşittir";
} else {
echo "A, B'den daha büyük veya eşit değildir";
}
// Çıktı: A, B'den daha büyüktür veya eşittirما بررسی کردیم که آیا مقدار سمت چپ کمتر یا برابر با مقدار سمت راست با عملگر کمتر یا مساوی است.
$a = 2;
$b = 4;
if ($a <= $b) {
echo "A, B'den daha küçüktür veya eşittir";
} else {
echo "A, B'den daha küçük veya eşit değildir";
}
// Çıktı: A, B'den daha küçüktür veya eşittirPHP اپراتورهای افزایش/کاهش
عملگرهای افزایشی PHP برای افزایش مقدار یک متغیر استفاده می شود. عملگرهای کاهش PHP برای کاهش مقدار یک متغیر استفاده می شوند.
| اپراتور | نام |
| ++$i | افزایش قبل (قبل از افزایش) |
| $i++ | پس از افزایش (پس از افزایش) |
| --$i | کاهش قبل (قبل از کاهش) |
| $i-- | پس از کاهش (پس از کاهش) |
مثالهای عملگر کاهش افزایش PHP
عملگر pre-increment ابتدا مقدار متغیر $i را افزایش می دهد و سپس متغیر $i را برمی گرداند.
$i = 10;
echo ++$i; // Çıktı: 11سپس عملگر post-increment متغیر $i را برمی گرداند، سپس مقدار متغیر $i را افزایش می دهد.
$i = 10;
echo $i++; // Çıktı: 10عملگر pre-decrement ابتدا مقدار متغیر $i را کاهش می دهد و سپس متغیر $i را برمی گرداند.
$i = 10;
echo --$i; // Çıktı: 9سپس عملگر post-decrement متغیر $i را برمی گرداند و سپس مقدار متغیر $i را کاهش می دهد.
$i = 10;
echo ++$i; // Çıktı: 10اپراتورهای منطقی PHP
عملگرهای منطقی PHP برای ترکیب عبارات شرطی استفاده می شوند.
| اپراتور | نام | مثال |
| سوگند | و (و) | $a و $b |
| یا | یا (یا) | $a یا $b |
| xor | xor | $a xor $b |
| && | و (و) | $a && $b |
| || | یا (یا) | $a || $b |
| ! | نه (توجه داشته باشید) | $a! $b |
مثالهای عملگر منطقی PHP
و اگر شرط موجود در $a و $b برآورده شود عملگر (and) true را برمی گرداند.
$a = 100;
$b = 50;
if ($a === 100 and $b === 50) {
echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktirاگر شرط موجود در $a یا $b برآورده شود عملگر or (or) true را برمی گرداند.
$a = 100;
$b = 50;
if ($a === 100 or $b === 75) {
echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktirو اگر شرط موجود در $a و $b برآورده شود عملگر (and) true را برمی گرداند.
$a = 100;
$b = 50;
if ($a === 100 && $b === 50) {
echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktirاگر شرط موجود در $a یا $b برآورده شود عملگر or (or) true را برمی گرداند.
$a = 100;
$b = 50;
if ($a === 100 || $b === 75) {
echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktirعملگر xor فقط زمانی true را برمیگرداند که شرط موجود در $a یا $b برآورده شود.
$a = 100;
$b = 50;
if ($a === 100 xor $b === 75) {
echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktirاگر شرط موجود در $a برآورده نشود عملگر not true را برمی گرداند.
$x = 50;
if ($x !== 75) {
echo "X, 75'e denk değildir";
}
// Çıktı: X, 75'e denk değildirعملگرهای متن PHP (عملگرهای رشته ای)
PHP دارای 2 عملگر طراحی شده برای متون است:
عملگر الحاق و عملگر تخصیص الحاق.
| اپراتور | نام | مثال |
| . | عملگر الحاق | $a $b |
| .= | عملگر تخصیص الحاق | $a .= $b |
مثالهای اپراتور متن PHP
عملگر الحاق دو داده را ترکیب می کند. در مثال زیر، داده های متغیرهای $a و $b را ترکیب کرده و آنها را چاپ کردیم.
$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!عملگر تخصیص الحاق، داده دوم را در کنار داده اول اضافه می کند. در مثال زیر داده های متغیر $b را در کنار داده های متغیر $a اضافه کرده و متغیر $a را چاپ کردیم.
$a = "Hello ";
$b = " World!";
$a .= $b;
echo $a;
// Çıktı: Hello World!PHP عملگرهای آرایه
عملگرهای آرایه در PHP برای مقایسه آرایه ها استفاده می شوند.
| اپراتور | نام | مثال |
| + | اپراتور اتحادیه (اتحادیه) | $a + $b |
| == | اپراتور برابری (برابری) | $a == $b |
| === | اپراتور معادل (هویت) | $a === $b |
| != | عملگر نابرابری (نابرابری) | $a != $b |
| <> | عملگر نابرابری (نابرابری) | $a <> $b |
| !== | اپراتور عدم تعادل (غیر هویت) | $a !== $b |
PHP مثالهای اپراتور آرایه
عملگر اتحادیه آرایه ها را ترکیب می کند.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
print_r($a + $b);
// Çıktı: Array ( [a] => kırmızı [b] => mavi [c] => yeşil [d] => sarı )عملگر برابری (برابری) کنترل برابری را در آرایه ها فراهم می کند. با عملگر برابری می توانیم بفهمیم که داده های دو آرایه برابر هستند یا خیر.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
if ($a == $b) {
echo "A, B'ye eşittir";
} else {
echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildirعملگر هویت کنترل برابری را در آرایه ها فراهم می کند. ما می توانیم بفهمیم که آیا داده های دو آرایه با عملگر هم ارزی معادل هستند یا خیر.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
if ($a === $b) {
echo "A, B'ye denktir";
} else {
echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildirعملگر نابرابری (نابرابری) کنترل نابرابری را در آرایه ها فراهم می کند. میتوانیم یاد بگیریم که دادههای دو آرایه با عملگر نابرابری برابر نیستند.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
if ($a != $b) {
echo "A, B'ye eşit değildir";
} else {
echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildirعملگر نابرابری (نابرابری) کنترل نابرابری را در آرایه ها فراهم می کند. میتوانیم یاد بگیریم که دادههای دو آرایه با عملگر نابرابری برابر نیستند.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
if ($a $b) {
echo "A, B'ye eşit değildir";
} else {
echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildirعملگر non-identity کنترل غیر هویتی را در آرایه ها فراهم می کند. می توانیم بفهمیم که داده های دو آرایه با عملگر نابرابری معادل نیستند.
$a = array('a' => 'kırmızı', 'b' => 'mavi');
$b = array('c' => 'yeşil', 'd' => 'sarı');
if ($a !== $b) {
echo "A, B'ye denk değildir";
} else {
echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildirاپراتورهای انتساب شرطی PHP
عملگرهای انتساب شرطی PHP برای تخصیص یک مقدار بر اساس شرایط استفاده می شود.
| اپراتور | نام | مثال |
| ?: | اپراتور سه تایی (سه تایی) | $a = expr1 ? expr2: expr3 |
| ?? | اپراتور ادغام تهی (ادغام تهی) | $a = expr1 ?? expr2 |
مثالهای اپراتور تخصیص شرطی PHP
عملگر سه تایی داده های شرطی را اختصاص می دهد. در مثال زیر، دادههای "not log in" را به متغیر $status در صورتی که شرط vala($user) true برگرداند، و "logg in" را اگر false برگرداند، اختصاص دادیم.
// Örnek 1:
$user = "Onur Özden";
echo $status = (empty($user)) ? "giriş yapılmadı" : "giriş yapıldı";
// empty($user) koşulu false ise, $status değişkenine "giriş yapıldı" değerini ata, true ise $status değişkenine "giriş yapılmadı" değerini ata.
// Örnek 2:
$user = "Onur Özden";
echo $status = (empty($user)) ? 0 : 1;
// empty($user) = false ise, $status değişkenine 0 değerini ata, true ise $status değişkenine 1 değerini ata.عملگر ادغام تهی داده های شرطی را اختصاص می دهد. اگر اولین داده وجود داشته باشد و تهی نباشد، مقدار $a اولین داده است. اگر داده اول وجود نداشته باشد یا تهی باشد، مقدار $a داده دوم است. در مثال زیر، دادههای "not log in" را به متغیر $status در صورتی که شرط vala($user) true برگرداند، و "logg in" را اگر false برگرداند، اختصاص دادیم.
// $_GET['user'] varsa ve null değilse $user değişkenine değer olarak atanır, $_GET['user'] yoksa veya null ise $user değişkenine "giriş yapılmadı" metni değer olarak tanır.
echo $user = $_GET['user'] ?? 'giriş yapılmadı';
// Çıktı: giriş yapılmadı
// $car değişkeni varsa ve null değilse $car değişkenine $car değişkeninin değeri atanır, $car değişkeni yoksa veya null ise $car değişkenine 'BMW' değeri atanır.
echo $color = $color ?? 'BMW';
// Çıktı: BMWاولویت اپراتور PHP
نمونه های اولویت اپراتور
همانند ریاضیات، عملگرها در PHP دارای مقادیری اولویت هستند. بیایید با یک مثال این را بفهمیم.
echo 3 + 5 * 2; // Çıktı: 13در فرآیند فوق خروجی 13 خواهد بود. زیرا ضرب بر جمع اولویت دارد. بنابراین ابتدا ضرب و سپس جمع انجام شد. با این حال، امکان مداخله در اولویت پردازش وجود دارد.
echo (3 + 5) * 2; // Çıktı: 16در فرآیند فوق خروجی 16 خواهد بود. زیرا ما با قرار دادن آن در پرانتز فرآیند جمع را اولویت بندی کردیم. بنابراین ابتدا جمع و سپس ضرب انجام شد. اینگونه در اولویت تراکنش دخالت کردیم.
جدول اولویت اپراتورها
در جدول زیر، اپراتورها به ترتیب از بالاترین اولویت به کمترین اولویت فهرست شده اند. اپراتورهای یک خط دارای اولویت مساوی هستند و ترتیب رسیدگی به آنها در طول ارزیابی تعیین می شود. ما جدول اولویت همه عملگرها در PHP را در زیر قرار داده ایم.
| نسبت دادن | اپراتورها | |
|---|---|---|
| (هیچ کدام) | clone new | |
| (هیچ کدام) | ** | |
| از سمت راست | + - ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | |
| از سمت چپ | instanceof | |
| (هیچ کدام) | ! | |
| از سمت چپ | * / % | |
| از سمت چپ | + - . | |
| از سمت چپ | << >> | |
| از سمت چپ | . | |
| بدون جهت | < <= > >= | |
| بدون جهت | == != === !== <> <=> | |
| سمت چپ | & | |
| از سمت چپ | ^ | |
| از سمت چپ | | | |
| از سمت چپ | && | |
| از سمت چپ | || | |
| درست است | ?? | |
| بدون جهت | ? : | |
| از سمت راست | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | |
| (هیچ کدام) | yield from | |
| (هیچ کدام) | yield | |
| (هیچ کدام) | print | |
| از سمت چپ | and | |
| از سمت چپ | xor | |
| از سمت چپ | or |
این جدول از php.net گرفته شده است. منبع: https://www.php.net/manual/tr/language.operators.precedence.php



