عملگرها در PHP

در این بخش می‌خواهیم با عملگرها در PHP آشنا شویم. هر یک از این عملگرها در پی اچ پی  دارای دستورهای مخصوص خود هستند. می‌توان آن‌ها را به دسته‌های زیر تقسیم‌ بندی کرد.

  • حسابی
  • انتسابی
  • رشته‌ای
  • مقایسه‌ای
  • منطقی
  • آرایه

عملگرهای حسابی درPHP

عملگرحسابی یا ریاضی در پی اچ پی شامل عملیات جمع، تفریق، تقسیم، ضرب و قدر مطلق باقی‌مانده تقسیم است. در جدول زیر با روش نمایش این عملگرها  در پی اچ پی آشنا می‌شویم.

نتیجه

مثال

نام

عملیات

جمع $x و$y

$x+$y

جمع

+

تفریق$x و $y

$x-$y

تفریق

ضرب $x و$y

$x*$y

ضرب

*

تقسیم $x و y$

$x/$y

تقسیم

/

باقیمانده تقسیم $x و $y

$x%$y

قدر مطلق

%

 

مثال زیر نتایج مختلف عملگرهای حسابی را نشان می‌دهد.

 

مثال بالا دستور می‌دهد اول x و y را با هم جمع  و در خط بعدی x را از y کم، در ادامه، x را در y ضرب  و در آخر  قدر مطلق باقی‌مانده تقسیم x و y  را چاپ کند

خروجی به صورت زیر می‌باشد:

۱۶
۴
۶۰
۱٫۶۶۶۶۶۶۶۶۶۶۶۶۷
۴

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

برای اختصاص دادن یک مقدار به یک متغیر از عملگر Assignment یا انتسابی استفاده می‌شود. پایه این عملیات در پی اچ پی، علامت “=” است.

در جدول زیر با این نماد این عملگرها در PHP و نحوه انجام دستور، آشنا شوید.

توضیحات

مثال

انتساب

عملگر سمت چپ ارزشی برابر با آنچه که سمت راست بیان می‌شود، دارد

x=y

x=y

عمل جمع

x=x+y

x+=y

عمل تفریق

x=x-y

x-=y

عمل ضرب

x=x*y

x*=y

عمل تقسیم

x=X/y

X/=y

قدر مطلق

x=x%y

X%=y

 

در یک مثال عملکرد، عملگرهای انتسابی را مشاهده کنید.

 در این مثال روش عملگرهای Assignment  که در جدول بالا بیان کردیم را به ترتیب مشاهده می‌کنید. خروجی این دستور به صورت یک سری اعداد هستند که از عملیات تساوی، ضرب، تقسیم، جمع، تفریق، و قدر مطلق باقی‌مانده بدست آمده اند.

۱۰
۱۲۰
۲۵
۳۰
۲ ۳

عملگرهای رشته‌ای در PHP

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

جدول زیر این عملگرهای رشته‌ای را معرفی می‌نماید.

عملگر

نام

مثال

نتیجه

.

الحاق

$txt1 = “Hello”

$txt2 = $txt1 . “world!”

 متن ۲ شامل !Hello world می‌شود

.=

مامور الحاق

$txt1 = “Hello”

$txt1 .= ” world!”

متن۱شامل !Hello world می‌شود

هر دو عملگر یک خروجی را به همراه دارد اما یک تفاوت با هم دارند. برای عملگر اول باید دو تابع رشته‌ای با نام‌های جداگانه تعریف کنیم.

یک مثال برای این عملگرها در PHP مشاهده کنید.

خروجی دستور این پی اچ پی، همانند آنچه که در جدول توضیحات بیان شد، بدست می‌آید.

Hello world!
Hello world!

در PHP میتوان رشته ها را با اعداد نیز ترکیب کرد:

عملگر کاهش یا افزایش در PHP

این عملگرها در PHP با افزایش یا کاهش یک واحد، در مقدار متغیرها، تغییر ایجاد می‌کنند.  گاه به این صورت که مقدار متغیر را افزایش یا کاهش دهد و سپس نمایش دهد و یا همان مقدار را نمایش می دهد و در صورتی که متغیر را دوباره بخوانیم، افزایش یا کاهش اعمال شده را ارسال می‌کند. در جدول زیر با نماد این عملگرها و نوع کار آن‌ها بیشتر آشنا می‌شویم.

عملگر

نام

توضیحات

++$x

قبل از افزایش

افزایش x و سپس برگرداندن آن

$x++

ارسال افزایش

برگرداندن x و سپس افزایش x

– -$x

قبل از کاهش

کاهش y و سپس برگداندن آن

$x- –

ارسال کاهش

برگرداندن y و سپس کاهش آن

یک مثال برای درک بهتر تفاوت بین روش‌های افزایش با هم و روش‌های کاهش با هم مشاهده کنید.

خروجی دستور بالا براساس قوانین گفته شده به صورت زیر است:

۱۱
۱۰
۴
۵

در دستور اول نمایش x بعد از یک واحد افزایش خواسته شده است، در دستور دوم نمایش x و ارسال یک واحد افزایش خواسته شده، اگر تابع یک بار دیگر x را با این دستور صدا می‌زد مقدار متغیر با آن  یک واحد افزایش ارسال شده، نمایش داده می‌شد. ( این مثال تنها یک بار x  برای دستور ++x$ صدا زده شده است) و در دستور سوم و چهارم همین روند برای یک واحد کاهش اتفاق افتاده است.

عملگرهای مقایسه ای در PHP

عملگرهای مقایسه‌ای در پی اچ پی، برای مقایسه ی دومقدار استفاده می‌شوند. این مقدارها می‌توانند از جنس عدد و متن ( رشته ای) باشند.

در جدول زیر نماد این عملگرها در PHP  و کاربرد آن‌ها آشنا می‌شوید.

 

عملگر

نام

مثال

نتیجه

==

مساوی

$x == $y

اگر x برابر با y باشد درست است

===

یکسان

$x === $y

اگر x برابر با y و از یک نوع باشد درست است

=!

نابرابر

$x != $y

اگر x با y برابر نباشد درست است

<>

نا برابر

$x <> $y

اگر x با y برابر نباشد درست است

==!

غیر یکسان

$x !== $y

اگر x باy  برابر یا از یک نوع نباشند درست است

<

بزرگتر

$x > $y

اگر x از y بزرگتر باشد درست است

>

کوچک تر

$x < $y

اگر x از y کوچک‌تر باشد درست است

=<

بزرگتر یا مساوی

$x >= $y

اگر x بزرگ‌تر یا مساوی y باشد درست است

=>

کوچکتر یا مساوی

$x <= $y

اگر x کوچک‌تر یا مساوی y باشد درست است

برای درک بهتر از این عملگرها مثال زیر را مشاهده کنید.

 در این مثال یک متغیر x و یک متغیر y معرفی شده‌اند که از نظر مقدار با هم برابر هستند ولی بخاطر قرار گرفتن متغیر y  در بین علامت ” ” نوع آن با نوع متغیر x متفاوت شده است.
خروجی دستور بالا به صورت زیر است:

bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)

همان طور که در مثال‌های قبل گفتیم دستور( )var_dump نوع داده را مشخص می‌کند. در این جا داده‌ها از نوع بولین هستند و تنها درست یا غلط بودن ارزش متغیر را مشخص می‌کند، بنابراین خروجی تنها با مشخص کردن درستی یا نادرستی دستور بیان می‌شود.

عملگرهای منطقی در PHP

عملگرهای منطقی and، or، xor، &&، ||، !، در PHP بین دو متغیر قرارمی‌گیرند و شرایط درست یا نادرست بودن آن متغیرها را در PHP بیان می‌کند. لازم به ذکر است که عملگرهای && و || در اولویت بالاتری هستند. جدول زیر خروجی این متغیرها را در صورت قرار گرفتن عملگرهای پی اچ پی بین آن‌ها بیان می‌کند

عملگر

نام

مثال

نتیجه

and

و

$x and $y

اگر x و y درست باشد، درست است

Or

یا

$x or $y

اگر x یا y درست باشد، درست است

Xor

X یا

$x xor $y

اگر یکی از متغیرهای x یا y درست باشد درست است

&&

و

$x && $y

اگر x و y درست باشد، درست است

||

یا

$x || $y

اگر x یا y درست باشد، درست است

!

هیچ

!$x

اگر x درست نباشد، درست است

عملگرهای آرایه در PHP

عملگرهای آرایه در پی اچ پی برای مقایسه داده ها از جنس آرایه استفاده می‌شوند. در جدول زیر با نماد و نوع عملکرد این عملگرها در PHP آشنا می‌شوید.

عملگر

نام

مثال

نتیجه

+

اتصال

$x + $y

اتصال x و y

==

تساوی

$x == $y

اگر x و y یک مقدار داشته باشد، درست است

===

یکسان

$x === $y

اگر x وy دارای یک مقدار و از یک نوع باشند درست است.

!=

نا برابری

$x != $y

اگر x و y با هم برابر نباشند،درست است

<>

نا برابری

$x <> $y

اگر x و y با هم برابر نباشند،درست است

!==

غیر یکسان

$x !== $y

اگر x با y یکسان نباشد، درست است

برای درک بهتر عملکر این نماد ها یک مثال را بررسی کنیم.

خروجی این دستور به صورت زیر است:

array(4) { [“a”]=> string(3) “red” [“b”]=> string(5) “green” [“c”]=> string(4) “blue” [“d”]=> string(6) “yellow” }
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)

در دستور اول تنها خواسته شده است، آرایه های x و y در کنار هم نمایش داده شود. در دستور دوم به دلیل این که y و x یک مقدار را دارا نمی‌باشند نادرست اعلام شده است. در دستور سوم هم با این که متغیر x  و y هر دو آرایه و ازجنس رشته ای هستند، اما چون مقادیر آن‌ها یکسان نیست، نادرست اعلام شده است. در دستور سوم، چهارم و پنجم به دلیل یکسان و برابر نبودن متغیر x و y  درست اعلام شده است.

15 نظرات شما

  • مهدی

    اسفند ۱۵, ۱۳۹۲ at ۱۱:۳۸ ق.ظ
    با سلام فکر کنم در قسمت عملگر کاهش یا افزایش در PHP یک اشتبهای شده ++$x این عملگر ابتدا مقدار بر می گرداند سپس یک واحد افزایش میکند. توی مثال خودتون هم $y=10; echo $y++; echo ""; ابتدا مقدار 10 برمیگردد سپس یک واحد اضافه میشود بقیه عملگر ها هم اشتباه شده فکر کنم البته باز شما معلم ماهستید .شاید من اشتباه کرده باشم
    • بهاران بنی اسدی

      اسفند ۱۷, ۱۳۹۲ at ۹:۱۶ ق.ظ
      سلام مرسی برای دقتتون. بله شما درست میگید . من هنگام نوشتن به چپ چین و راست بودن توجه نکرده بودم
  • مبینا

    تیر ۱۱, ۱۳۹۳ at ۱۱:۲۶ ق.ظ
    سلام مرسی از اموزش خوبتون فقط کاش اخر هر مبحث چند تا تمرین قزار بدین تا بتونیم ما مبتدی ها مسلط بشیم به موضوع ممنون از لطفتون
    • بهاران بنی اسدی

      تیر ۱۴, ۱۳۹۳ at ۷:۳۰ ب.ظ
      سلام دوست خوبم مرسی از پیشنهادت، حتما این کارو میکنم
  • amin

    مرداد ۳۱, ۱۳۹۳ at ۸:۴۶ ب.ظ
    سلام یه همیچین چیزی میخوام نمیدونم چطوری مطرح کنم براتون برای مثال داخل تگ مینویسم 2 واز قبل مشخص کرده باشیم که به ازای هر یک عدد 5 واحد اضافه شود یعنی وقتی ما مینویسیم 2 درمقابل در کادر روبه رو بنویسد 10 ممنون میشم یه راهنمایی کوچیک بکنید یا توضیح بدید
    • بهاران بنی اسدی

      شهریور ۳, ۱۳۹۳ at ۱۰:۰۱ ق.ظ
      سلام کافیه که یک متغیر جدید اضافه کنید که حاصلضرب مقدار قبلی در 5 باشه ولی اگر میخواید در همون لحظه نمایش داده بشه باید تکنولوژی ajax اشنایی داشته باشید
  • amin

    مرداد ۳۱, ۱۳۹۳ at ۸:۴۷ ب.ظ
    منظورم داخل تگ اینپوت بود مثل همین کادر رو به رو که نام و ایمیل مینویسیم
  • ARSALAN

    تیر ۲۴, ۱۳۹۴ at ۹:۳۰ ق.ظ
    در قسمت عمگرد های منطقی گفته شده هست که اگر x وy درست باشیند مقدار ترو را نمایش بده . منظور از درست بودن بعنی چه؟
    • الهه قنبری

      تیر ۲۶, ۱۳۹۴ at ۵:۵۶ ب.ظ
      منظور این است که اگر هر دو با هم اتفاق افتاد به طور مثال اگر مقدار x=1 و y=2 بود شرط درست است.&& و and به معنی این است که هر دو درست باشد حال این درست بودن می تواند تو دستورات شرطی یا هر دستور دیگری استفاده شود.
  • علی

    مرداد ۷, ۱۳۹۴ at ۳:۲۷ ب.ظ
    سلام ببخشید برای اینکه اعداد زیر 04 رو بر 03 تفریق نماییم و خروجی 01 باشد برای چگونه عمل کرد زیر در حالت عادی خروچی 1 است نه 01 تشکر
  • ستاره احمدی

    مرداد ۹, ۱۳۹۴ at ۴:۵۸ ب.ظ
    سلام. یه سوالی داشتم من میخواستم بین دو عدد رو نشون بدم مثلا اعداد بین 1<x<7 باید چکار کنم
    • الهه قنبری

      مرداد ۱۰, ۱۳۹۴ at ۷:۳۱ ب.ظ
      سلام دوسته خوبم! با استفاده از عملگر && به راحتی می توانید دستور مورد نظرتان را بنویسید. به طور مثال
      ($x < 19 && $x >= 10) 
  • aminladecima

    شهریور ۱۷, ۱۳۹۴ at ۳:۰۴ ب.ظ
    میشه از xor یک مثال بزنید ؟؟؟ لامصب هرچی مینویسم میره else پس کی درست میشه :))))))))
  • پرهام

    فروردین ۳, ۱۳۹۵ at ۴:۲۱ ب.ظ
    سلام علامت :: در php به چه معناست؟ برای مثال ;()jfactory::getuser
  • Soheil

    اردیبهشت ۶, ۱۳۹۵ at ۶:۴۲ ب.ظ
    سلام دوست عزیز اول از همه بابت مطالبتون تشکر میکنم یه سوال داشتم توی این خط : $x = array("a" => "red", "b" => "green"); نقش '=>' چیست؟؟ با تشکر :)

پاسخ دهید

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


© 2013 Mobtadi. All rights reserved.
کلیه حقوق مادی و معنوی برای وبسایت مبتدی محفوظ است.