عملگرها در php

منتشرشده توسط حامد قنبری در تاریخ

برای انجام اعمال خاص بر روی متغیرها یا داده ها از نمادهایی استفاده می کنیم که به آن عملگر می گویند برای مثال عملگر + عملگری است که ارزش های دو متغیر عددی را با هم جمع می کند. از لحاظ تقسیم بندی می توان عملگرها را به انواع مختلفی تقسیم نمود که هریک از آن دسته ها با توجه به ماهیت وکارکرد مشخص خود از سایر دسته بندی های دیگر متمایز می شود. در این مبحث آموزشی قصد داریم به انواع متفاوتی از عملگرها با توجه به دسته بندی های کلی آنها بپردازیم و با ذکر مثالی به تفهیم هر چه بیشتر این موضوع کمک نماییم.

عملگرهای حسابی:

این نوع عملگرها برای اجرای محاسبه های مختلف بر روی انواع داده ها و متغیرهای دارای ارزش های محاسباتی بکار بسته می شود. بطور کلی نوع عملیات هریک از عملگرها با توجه به شناختی که از نمادهای ریاضی همانند + ، – ، *   و … وجود دارد بر روی این مجموعه از متغیرها قابل اجرا بوده و بیشتر بر روی متغیرهایی با ارزش های عددی همچون Integer ,double ,decimal کاربر دارد :

<?php
        $num1= 30;
        $num2= 10;
        echo $num1 * $num2."<br>";
        echo $num2 / $num1."<br>";
        echo $num2 % $num1."<br>";
        echo $num1 + $num2."<br>";
        echo $nnum2 - $num1;
        ?>

خروجی آن به شکل زیر خواهد بود:

300
0.33333333333333
10
40
-30

عملگرهای مقایسه ای :

همانطور که از نام این نوع عملگرها برمیآید از این نوع عملگرها به منظور مقایسه بین دو متغیر یا داده استفاده می شود یا بعبارت دیگر این نوع عملگرها در صدد کشف و تعمیم نوع رابطه بین بین دو متغیر یا داده هستند که انواع مختلف آن در جدول ذیل آمده است.

عملگر توصیف
== بررسی می کند که آیا ارزش های مربوط به دو متغیر یا عملوند برابر است یا نه، اگر درست باشد شرط صحیح را برمی گرداند.

مثال:

<?php
        $a=10;
        $b= 10;
        if($a==$b){
        echo "equal";
        }else{
        echo "not equal";
        }
?>

که خروجی زیر را بر می گرداند:

equal
عملگر توصیف
=! بررسی می کند که آیا ارزش های مربوط به دو متغیر یا عملوند برابر است یا نه، اگر نامساوی باشد شرط صحیح را برمی گرداند.

مثال:

<?php
        $a=10;
        $b= 20;
        if($a!=$b){
        echo "equal";
        }else{
        echo "not equal";
        }
?>

که خروجی زیر را بر می گرداند:

not equal

 

نکته قابل ذکر در این نوع عملگرها تفیکیک عملگرهای = ، == ، === از یکدیگر است. عملگر = مقدار یا ارزش یک متغیر را به متغیر دیگر تعمیم می دهد.

در حالی که عملگر == درصدد بررسی نوع نسبت تساوی بین دو متغیر یا داده است که در صورت مساوی بودن true  ودر غیر این صورت false  را بر می گرداند:

تفاوت اصلی بین عملگر == و ===  در این است که عملگر == به بررسی رابطه تساوی ارزش های دو داده یا متغیر بدون در نظر داشتن نوع  متغیرها می پردازد در حالی که عملگر === در بررسی رابطه تساوی بین دو متغیر یا داده به نوع آنها توجه دارد به مثال زیر توجه کنید.

 

عملگرهای ترکیبی

عملگرهایی هستند که معمولا ترکیبی از دو نماد مختلف است  که در آن هم عمل انتساب انجام می شود و هم نوع عملیات مورد نظر  با توجه به نوع عملگر بین دو داده یا متغیر را اعمال می کند .

 

عملگرهای رشته ای :

عمل الحاق کردن رشته ها بوسیله این نوع عملگر صورت می گیرد که متداول ترین آنها علامت . است که دو رشته را به یکدیگر پیوند می دهد به مثال زیر توجه کنید.

 

نکته مهمی که در ارتباط با این نوع عملگرها باید مدنظر قرار داد تفاوت بین دو حالت ” ” و ‘ ‘  است.  در حال اول زبان php آن را مانند یک عبارت در نظر می گیرد در حالی که در حالت دوم آن را همانند لیترال در نظر می گیرد و ارزیابی آن خودداری می کند.

 

سایر عملگرها:

نوع دیگری از عملگرها وجود دارد که از لحاظ ماهیت و کارکرد در هیچکدام از دسته بندی هایی که مشخصات آنها گفته شد قرار نمی گیرد از این رو به این عملگرها عملگرهای متفرقه گفته می شود که در ذیل به چند مورد آن اشاره می گردد:

عملگر ؟  :

این نوع عملگر شرطی را که مدنظر است بررسی می کند ودر صورت تحقق آن شرطم قدار متغیر مورد نظر را برابر با ارزش خاصی قرار می دهد در غیر اینصورت مقدار متغیر را برابر با ارزش دوم در نظر می گیرد .

<?php
$year = 20;
$compare = $year > 17 ? 'accept' : 'reject' ;
echo $compare;
?>

خروجی آن به شکل زیر خواهد بود:

accept

عملگر @ : این نوع عملگر با قرار گرفتن در جلوی هر دستور یا عبارت مانع از بروز ایجاد خطا در آن عبارات دستوری می شود.

 

عملگر ارجاع :

این نوع عملگر که عملگر انتساب به کار می رود

 

دسته‌ها: آموزش PHP

0 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

-- بارگیری کد امنیتی --