انواع عملگر ها در PHP و نحوه استفاده از آن ها

 

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

 

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

 

چهار عملگر برای عملیات اصلی ریاضی (جمع، تفریق، ضرب، تقسیم) به علاوه یک عملگر باقیمانده (%) که برای به دست آوردن باقیمانده تقسیم صحیح استفاده می شود، وجود دارند:

 

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

 

عملگر های تخصیصی

 

دومین گروه عملگر ها، عملگر های تخصیصی می باشند. مهمترین آنها، خود عملگر تخصیص (=) است که مقداری رابه یک متغیر اختصاص می دهد.

 

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

 

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

 

عملگر های تخصیصی و مرکب در PHP

 

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

 

یکی دیگر از انواع عملیات مهم در برنامه نویسی، افزایش یا کاهش یک مقدار به میزان یک واحد است که می توان این کار را با عملگر های افزایشی (++) یا کاهشی (--) به سادگی انجام داد:

 

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

 

هر دوی این عملگر ها را می توان پیش یا پس از متغیر به کار گرفت

 

$x++; // پس افزایش
$x--; // پس کاهش
++$x; // پیش افزایش
--$x; // پیش کاهش

 

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

در کد های زیر، به مقدار x در دو حالت مختلف توجه کنید:

 

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

 

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

 

عملگر های مقایسه ای، دو مقدار را با هم مقایسه کرده و جواب true (صحیح) یا false (نادرست) را باز میگردانند. از این عملگر ها در اصل برای تعیین وضعیت شرط ها استفاده می شود. شرط ها به عباراتی گفته می شود که true یا false ارزیابی می شوند.

 

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

 

 از عملگر یکسان ( ===) برای مقایسه هم زمان مقدار و نوع داده عملوند ها استفاده می شود. این عملگر در صورتی که هر دو عملوند دارای مقدار و نوع داده مشابه باشند، مقدار true و در غیر اینصورت مقدار false را به عنوان جواب بر میگرداند. همچنین عملگر غیر یکسان (!==) در صورتی که هر دو عملوند دارای مقدار یکسان یا نوع مشابه نباشند، مقدار true را به عنوان جواب بر میگرداند.

 

$x = (1 == "1"); // چون مقدار مشابه هستن، مقدار true بر میگرداند

$x = (1 === "1"); // چون نوع مقادیر مشابه نیست، مقدار false را بر میگرداند

 

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

معمولا عملگر های منطقی همراه با عملگر های مقایسه ای به کار گرفته می شوند. برای مثال، عملگر منطقی and (&&) در صورتی پاسخ true بر میگرداند که پاسخ هر دو سمت عملگر، صحیح (true) باشد. عملگر منطقی OR (||) در صورتی پاسخ true بر میگرداند که پاسخ یکی از دو سمت عملگر یا هر دوی آنها true باشد. برای وارونه کردن یک پاسخ بولی هم از عملگر منطقی NOT (!) استفاده می شود. ضمنا توجه داشته باشید که در مورد عملگر AND منطقی یا OR منطقی، اگر نتیجه عملگر با بررسی سمت چپ مشخص شود، دیگر عبارت سمت راست بررسی نخواهد شد.

 

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

 

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

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

 

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

 

عملگر های بیتی هم مثل عملگر های حسابی دارای عملگر های تخصیصی کوتاه هستند

 

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

 

تقدم عملگر ها

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

 

تقدم عملگر ها در PHP

 

برای مثال، عملگر and منطقی (&&) ضعیف تر از عملگر های حسابی می باشند

 

$x = 2+3 > 1*4 && 5/5 == 1; // جواب عبارت true می باشد

 

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

 

$x = ((2+3) > (1*4)) && ((5/5) == 1); // جواب عبارت true می باشد

 

 در جدول قبل سه متغییر and، or و xor نیز وجود داشتند که به بررسی آن ها می پردازیم. عملگر های منطقی && و || هستند و تنها تفاوتشان در سطح تقدم شان است. به مثال های زیر دقت کنید:

 

$a = trye && false;

 

 کد فوق معادل کد زیر است و مقدار متغیر $a در آن، false است.

 

$a = (true && false);

 

 همچنین به جای عملگر && می توانید از and استفاده کنید. متغییر a مقدار true را به دست می آورد

 

$a = true and false; // ($a = true) and false

 

 همچنین عملگر xor نیز نسخه بولی عملگر بیتی ^ است. ایم عملگر تنها در صورتی true (صحیح) ارزیابی می شود که فقط یکی از عملوند ها، true باشد

 

$a = (true xor true);

 

منبع it3du.ir