انواع عملگر ها در PHP – مقدمه
در این بخش از آموزش پی اچ پی، می خواهیم با انواع عملگرها در PHP آشنا شویم. در ابتدا با تعریف عملگرها در پی اچ پی آشنا خواهیم شد.
در ادامه ابتدا با عملگرهای ریاضی و محاسباتی در PHP آشنا خواهیم شد. سپس عملگرهای رشته ای و همین طور عملگرهای مقایسه ای در پی اچ پی را بررسی خواهیم کرد.
بعد از آن به سراغ عملگرهای منطقی و سپس به سراغ عملگرهای بیتی در PHP می رویم. در بخش بعدی با عملگر های انتساب و همین طور عملگرهای خاص مثل ++ و همین طور — آشنا خواهیم شد.
همین طور در ادامه آموزش operator ها در زبان پی اچ پی، به بررسی عملگرهای آرایه ای و همین طور عملگرهای سه گانه خواهیم پرداخت.
در انتهای این آموزش به بررسی تقدم عملگرها در PHP خواهیم پرداخت. در این بخش با اولویت اعمال عملگرهای مختلف در زبان پی اچ پی، آشنا خواهیم شد. در هر بخش سعی می کنیم بررسی عملگرها در PHP با مثال های مربوط به آن نمایش دهیم.
این آموزش دارای سرفصل زیر هست که می توانید با زدن روی هر لینک، به بخش مورد نظر خود منتقل شوید:
این آموزش، یکی از بخش های آموزش های رایگان PHP در سایت وبمستر وردپرس می باشد. در صورتی که می خواهید به کلیه بخش های این سری آموزشی رایگان دسترسی داشته باشید، می توانید از لینک زیر استفاده کنید:
چند نکته قبل از شروع آموزش انواع عملگر در PHP
شما برای آشنایی با انواع عملگر ها و همین طور نحوه کار با آن ها درPHP، می توانید از مقاله این صفحه استفاده کنید.
این مقاله یکی از جامع ترین مقالات و کاربردی ترین آن ها در سطح وب فارسی می باشد. با خواندن این مقاله به راحتی به همه مفاهیم عملگر و انواع آن در PHP آشنا می شوید و عملا نیازی به سورس های اضافه تر نخواهید داشت.
فیلم ابتدایی قرار داده شده در این مقاله، بخش هایی از دوره آموزش PHP است که بخشی از دوره وبمستران وردپرس (دوره حضوری) می باشد.
برای تهیه کامل این فیلم، می توانید به سایت کلوپ وبمستران وردپرس (که مرجع آموزش های حرفه ای وبمستری برای وردپرس) می باشد، مراجعه کنید.
فیلم آموزش عملگر در PHP
عملگرهای محاسباتی و ریاضی در PHP
اولین نوع از انواع عملگرها که در PHP با آن سر و کار داریم، عملگرهای محاسباتی یا همان عملگرهای ریاضی می باشند. اصلی ترین عملگرهای ریاضی برای انجام اعمال محاسباتی بر روی متغییرهای عددی، عبارتند از:
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای محاسباتی یا همان عملگرهای ریاضی در PHP زده شده است. در انتها از var_dump برای نمایش خروجی استفاده شده است تا نوع برگشتی آن نیز نمایش داده شود.
در انتهای کدها، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Arithmetic Operation $var1 = 30; $var2 = 6; $var3 = 8; $a = $var1 + $var2; $b = $var1 - $var2; $c = $var1 * $var2; $d = $var1 / $var3; $e = $var1 % $var3; $f = $var1 + $var2 + $var3; var_dump( $a, $b, $c, $d, $e, $f ); /* The result is something like this: C:\xampp\htdocs\php\basics\msn04_Operators.php:34:int 36 C:\xampp\htdocs\php\basics\msn04_Operators.php:34:int 24 C:\xampp\htdocs\php\basics\msn04_Operators.php:34:int 180 C:\xampp\htdocs\php\basics\msn04_Operators.php:34:float 3.75 C:\xampp\htdocs\php\basics\msn04_Operators.php:34:int 6 C:\xampp\htdocs\php\basics\msn04_Operators.php:34:int 44 */
عملگرهای افزایشی ++ یا کاهشی – – در PHP
نوع دیگری از عملگرها که با آن در زبان پی اچ پی سرکار داریم، عملگر افزایشی ++ و همین طور عملگر کاهشی – – می باشد. برخلاف بسیاری از عملگرها که باید دارای دو عملوند یا همان operand باشند، عملگر افزایشی یا کاهشی، بر روی یک عملوند، عمل خواهد کرد.
تفاوت استفاده از عملگرهای افزایشی یا کاهشی در قبل یا بعد از متغیر
اگر علامت ++ یا – – را قبل از متغیر قرار دهیم، ابتدا یک واحد به متغیر اضافه یا کم می شود و سپس از متغیر در انجام محاسبات استفاده می شود. اما در صورتی که عملگر کاهشی یا افزایشی را بعد از متغیر قرار دهیم، ابتدا عملوند یا همان متغیر، در محاسبات شرکت کرده و سپس یک واحد به آن اضافه یا کم خواهد شد.
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای ++ و — (که با نام های عملگرهای افزایشی و عملگرهای کاهشی در PHP شناخته می شوند)، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Incremental and Decremental Operators $a = 20; $b = 30; $c = $a ++ + 10; echo "a = $a and c = $c "; $c = ++ $a + 10; echo "a = $a and c = $c "; $c = $b -- + 10; echo "b = $b and c = $c "; $c = -- $b + 10; echo "b = $b and c = $c "; /* The result is something like this: a = 21 and c = 30 a = 22 and c = 32 b = 22 and c = 40 b = 22 and c = 38 */
عملگرهای انتساب در PHP
یکی دیگر از انواع عملگرها در PHP ، عملگرهای انتساب یا همان Assignment Operators می باشند. ابتدایی ترین حالت عملگر انتساب، استفاده از علامت مساوی ” = ” می باشد، که در مثال های قبلی نیز از آن استفاده کردیم.
در واقع زمانی که ما از علامت مساوی استفاده می کنیم، در واقع در حال نسبت دادن یک مقدار به یک متغیر هستیم. به وسیله عملگر انتساب مساوی، مقدار عملوند سمت راست، در داخل عملوند سمت چپ قرار می گیرد.
نوع بعدی عملگرهای انتساب، زمانی است که عملگرهای محاسباتی در کنار علمگر انتساب مساوی استفاده می شود. به این عملگر ها عملگرهای جایگزین نیز گفته می شود. لیست این عملگرهای انتساب در PHP عبارتند از:
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای انتساب (که با نام Assignment Operators شناخته می شوند)، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Assignment Operators $var1 = 30; $var2 = 6; $var3 = 8; $a = $var1 * $var3; var_dump( $a ); $a += 11; var_dump( $a ); $a -= 23; var_dump( $a ); $a *= 6; var_dump( $a ); $a /= 7; var_dump( $a ); $a %= 10; var_dump( $a ); /* The result is something like this: C:\xampp\htdocs\php\basics\msn04_Operators.php:49:int 240 C:\xampp\htdocs\php\basics\msn04_Operators.php:52:int 251 C:\xampp\htdocs\php\basics\msn04_Operators.php:54:int 228 C:\xampp\htdocs\php\basics\msn04_Operators.php:56:int 1368 C:\xampp\htdocs\php\basics\msn04_Operators.php:58:float 195.42857142857 C:\xampp\htdocs\php\basics\msn04_Operators.php:60:int 5 */
عملگرهای مقایسه ای در PHP
نوع دیگری از عملگرها که بسیار کاربرد دارد و خیلی زیاد از آن استفاده می شود، عملگرهای مقایسه ای می باشند. در واقع برای مقایسه بین متغیرها از عملگرهای مقایسه ای استفاده می گردد.
نتیجه خروجی این عملگرهای مقایسه ای، همواره یا برابر true و یا برابر false می باشد. لیست عملگرهای مقایسه ای در پی اچ پی به شرح زیر می باشد:
تفاوت بین عملگرهای تساوی === و == و عملگرهای نامساوی ==! و =!
در حالتی که از سه مساوی یا === استفاده می کنیم، نتیجه عملگر مقایسه ای تنها در صورتی درست خواهد بود که دو طرف مقایسه شونده هم از لحاظ مقدار و هم از لحاظ نوع برابر باشند.
همچنین زمانی که از ==! استفاده می کنیم، زمانی شرط نامساوی بودن برابر true خواهد بود، که مقادیر هم از لحاظ نوع و هم از لحاظ مقدار باهم برابر نباشند. این عملگر مقایسه ای بسیار در زبان PHP پر کاربرد می باشد.
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای مقایسه ای در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Comparison Operators $a = 18; $b = 27; $s = '18'; echo "In this sample: <b>a=$a, b=$b and s='$s'</b><br><br>"; echo "<b>Is a equal to b?</b>"; var_export( $a == $b ); echo '<br>'; echo "<b>Is a equal to s?</b>"; var_export( $a == $s ); echo '<br>'; echo "<b>Is a identical to b?</b>"; var_export( $a === $b ); echo '<br>'; echo "<b>Is a identical to s?</b>"; var_export( $a === $s ); echo '<br>'; echo "<b>Is a not equal to b?</b>"; var_export( $a != $b ); echo "<b>Is a not equal to s?</b>"; var_export( $a <> $s ); echo '<br>'; echo "<b>Is a not identical to s?</b>"; var_export( $a !== $s ); echo '<br>'; echo "<b>Is a greater than 7?</b>"; var_export( $a > 7 ); echo '<br>'; echo "<b>Is a greater than b?</b>"; var_export( $a < $b ); echo '<br>'; echo "<b>Is a greater than or equal to 7?</b>"; var_export( $a >= 7 ); echo '<br>'; echo "<b>Is a less than or equal to 7?</b>"; var_export( $a <= 7 ); echo '<br>'; /* The result is something like this: In this sample: a=18, b=27 and s='18' Is a equal to b?false Is a equal to s?true Is a identical to b?false Is a identical to s?false Is a not equal to b?trueIs a not equal to s?false Is a not identical to s?true Is a greater than 7?true Is a greater than b?true Is a greater than or equal to 7?true Is a less than or equal to 7?false */
عملگرهای منطقی در PHP
عملگرهای منطقی برای انجام کارهای منطقی یا همان logical بر روی یک یا چند عبارت، استفاده می شود. عملگرهای منطقی شامل AND و OR و XOR و NOT می باشند.
لیست عملگرهای منطقی و نحوه کار آن ها به شرح زیر است:
استفاده از عبارت های and و or در عملگرهای منطقی
شما می توانید از عبارت and به جای && در عبارت های برای عملگر منطقی AND استفاده کنید. به همین ترتیب می توانید از کلمه or به جای || برای عملگر منطقی OR استفاده نمایید.
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای منطقی در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Logical Operators $var4 = true; $var5 = false; $var6 = true; $result = var_export( $var4 && $var5, true ); echo "The result of \$var4 && \$var5 is: $result <br>"; $result = var_export( $var4 && $var6, true ); echo "The result of \$var4 && \$var6 is: $result <br>"; $result = var_export( $var4 || $var5, true ); echo "The result of \$var4 || \$var5 is: $result <br>"; $result = var_export( $var4 || $var6, true ); echo "The result of \$var4 || \$var6 is: $result <br>"; $result = var_export( 1 xor 1, true ); echo "The result of 1 <b>xor</b> 1 is: $result"; echo '<br>'; $result = var_export( 1 xor 0, true ); echo "The result of 1 <b>xor</b> 0 is: $result"; echo '<br>'; $result = var_export( 0 xor 1, true ); echo "The result of 0 <b>xor</b> 1 is: $result"; echo '<br>'; $result = var_export( 0 xor 0, true ); echo "The result of 0 <b>xor</b> 0 is: $result"; echo '<br>'; $result = var_export( ! 0, true ); echo "The result of <b>not</b> 0 is: $result"; echo '<br>'; $result = var_export( ! 1, true ); echo "The result of <b>not</b> 1 is: $result"; echo '<br>'; /* The result is something like this: The result of $var4 && $var5 is: false The result of $var4 && $var6 is: true The result of $var4 || $var5 is: true The result of $var4 || $var6 is: true The result of 1 xor 1 is: false The result of 1 xor 0 is: true The result of 0 xor 1 is: true The result of 0 xor 0 is: false The result of not 0 is: true The result of not 1 is: false */
عملگرهای رشته ای در PHP
عملگر رشته ای در پی اچ پی، برای اتصال رشته ها به همدیگر مورد استفاده قرار می گیرد. عملگر رشته ای و نحوه کار آن به شرح زیر است:
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای رشته ای در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//String Operator $string1 = "website url: "; $string2 = "https://wpwebmaster.ir"; $string3 = $string1 . $string2; //To concat strings, you can use from (.) $string4 = 'My '; $string4 .= $string3; var_dump( $string1, $string2, $string3, $string4 ); /* The result is something like this: 'website url: ' (length=13) 'https://wpwebmaster.ir' (length=22) 'website url: https://wpwebmaster.ir' (length=35) 'My website url: https://wpwebmaster.ir' (length=38) */
عملگرهای بیتی در PHP
عملگرهای بیتی در پی اچ پی، برای انجام اعمال بیتی مورد استفاده قرار می گیرد. عملگرهای بیتی در PHP و نحوه کار آن به شرح زیر است:
در زیر یک مثال بسیار ساده برای درک بهتر عملگرهای بیتی در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
//Bitwise operators echo "The result of ".decbin(33).' & '.decbin(120)." is: "; $result = 33 & 121; echo base_convert($result,10,2); echo '<br><br>'; echo "The result of ".decbin(33).' | '.decbin(121)." is: "; $result = 33 | 121; echo base_convert($result,10,2); echo '<br><br>'; echo "The result of ".decbin(33).' ^ '.decbin(121)." is: "; $result = 33 ^ 121; echo base_convert($result,10,2); echo '<br><br>'; echo "The result of ~".decbin(121)." is: "; $result = ~121; echo base_convert($result,10,2); echo '<br><br>'; echo "The result of ".decbin(121)." >> 3 is: "; $result = 121 >> 3; echo base_convert($result,10,2); echo '<br><br>'; echo "The result of ".decbin(18)." << 4 is: "; $result = 18 << 4; echo base_convert($result,10,2); echo '<br><br>'; /* The result is something like this: The result of 100001 & 1111000 is: 100001 The result of 100001 | 1111001 is: 1111001 The result of 100001 ^ 1111001 is: 1011000 The result of ~1111001 is: 1111010 The result of 1111001 >> 3 is: 1111 The result of 10010 << 4 is: 100100000 */
عملگرهای آرایه ای در PHP
عملگرهای آرایه ای برای انجام برخی از اعمال بر روی آرایه های انجام می شود. همانگونه که در بخش های قبل بیان شد، شما می توانید از عملگرهای مساوی و نامساوی و همین طور مساوی به فرم Identical و نامساوی به صورت Not Identical استفاده نمایید.
نتایج این عملگرها بر روی دو آرایه در PHP همانند همان چیزی خواهد بود که در بخش های قبلی مورد بحث قرار گرفت. لذا در این بخش از گفتن مجدد آن ها صرف نظر می گردد.
تنها عملگری که می تواند بر روی دو آرایه اعمال شود، عملگر جمع بر روی آرایه های می باشد که با علامت + در آرایه ها استفاده می گردد.
نکته مهم: توجه داشته باشید که عملگرآرایه ای + ، عملیات اجتماع دو آرایه را انجام نمی دهد، بلکه چیزی مشابه با عملیات اجتماع را انجام می دهد.
در زیر یک مثال بسیار ساده برای درک بهتر عملگر آرایه در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید. در ضمن عملگر اجتماع بر روی آرایه ها نیز، در کدها اضافه شده تا بتوانید نتیجه خروجی را با نتیجه خروجی عملگر آرایه ای مقایسه نمایید:
//Array Operators $array1 = array( 10, 20, 30 ); $array2 = array( 'e', 'f', 'g', 'x', 'y' ); $array3 = $array1 + $array2; var_dump( $array3 ); var_dump( array_merge( $array1, $array2 ) ); /* The result is something like this: array (size=5) ۰ => int 10 ۱ => int 20 ۲ => int 30 ۳ => string 'x' (length=1) ۴ => string 'y' (length=1) array (size=8) ۰ => int 10 ۱ => int 20 ۲ => int 30 ۳ => string 'e' (length=1) ۴ => string 'f' (length=1) ۵ => string 'g' (length=1) ۶ => string 'x' (length=1) ۷ => string 'y' (length=1) */
عملگرهای سه گانه یا شرطی در PHP
عملگرهای سه گانه در PHP با نام های مختلفی شناخته می شوند. به آن ها عملگر Ternary یا عملگر سه تایی یا عملگر شرطی نیز گفته می شود. نحوه کار عملگر سه گانه یا همان Ternary در ادامه شرح داده شده است:
استفاده از ?? برای چک کردن null بودن یک مقدار در زبان PHP و تفاوت آن با عملگر سه گانه
عملگری به صورت ?? نیز در PHP وجود دارد که فقط بر روی دو عملوند اجرا می شود. کار این عملگر این می باشد که چک می کند آیا مقدار قبل از ?? برابر null می باشد یا خیر. در صورتی که مقدار سمت چپ برابر null باشد، مقدار سمت راست را به عنوان خروجی باز می گرداند.
توجه داشته باشید که این عملگر، کاملا با عملگر Ternary متفاوت می باشد.
در زیر یک مثال بسیار ساده برای درک بهتر عملگر سه گانه در پی اچ پی، زده شده است. در انتهای کدها هم، می توانید نتیجه خروجی آن را نیز مشاهده فرمایید:
$var1= 14; $var2= 18; echo ($var1 > $var2) ? "$var1 is greater than $var2" : "$var1 is less than $var2"; /* The result is something like this: ۱۴ is less than 18 */
تقدم عملگر ها در PHP
تقدم عملگرها در PHP به این بستگی دارد که آن ها چگونه باهم گروه بندی شوند. اگر با پرانتز گروه های مختلف با هم گروه بندی شوند، همواره اولویت عملگرها با آن هایی است که در پرانتز های داخلی تر وجود دارند.
در صورتی که گروه بندی وجود نداشته باشد، بعضی از عملگرها، از اولویت بالاتری نسبت به سایر عملگرها برخوردار هستند. در جدول زیر اولویت عملگرها در PHP از بیشتر به کمتر قرار داده شده است. توجه داشته باشید که تقدم علمگرها در بالای جدول بیشتر از پایین جدول می باشد.
نام عملگر | عملگرهای مورد استفاده | نحوه شرکت پذیری آن ها در عبارات |
---|---|---|
عملگر ساخت شی | new | non-associative |
پرانتز | ( ) | از چپ به راست |
علامت آرایه | [ ] | از چپ به راست |
افزایشی، کاهشی، عملگرnot | ++ و – – و ! | از راست به چپ |
علمگر تشخیص نوع | instanceof | non-associative |
محاسباتی ضرب و تقسیم | * و / و % | از چپ به راست |
محاسباتی جمع و تفریق | + و – | از چپ به راست |
عملگر شیفت به چپ و راست | >> و << | از چپ به راست |
عملگرهای مقایسه ای | < و =< و > و => | non-associative |
عملگرهای مقایسه ای مساوی و نامساوی | == و != و === و !== و <> و <=> | non-associative |
عملگر های بیتی | & و ^ و | | از چپ به راست |
عملگرهای منطقی | && و || | از چپ به راست |
عملگر مقایسه ای ?? | ?? | از راست به چپ |
عمگر سه گانه یا Ternary | : ? | از چپ به راست |
عملگرهای انتسابی | = += -= *= **= /= .= %= &= |= ^= <<= >>= | از راست به چپ |
عملگرهای منطقی | and و xor و or | از چپ به راست |
نتیجه گیری برای آموزش انواع عملگرها در PHP
در این سری از آموزش های PHP ، با انواع عملگرها در PHP و تقدم عملگرها در زبان پی اچ پی آشنا شدیم. کلیه عملگرها و همین طور اولویت آن ها در این مقاله مورد بررسی قرار گرفت.
ممکن است شما با موارد بیشتری در این حوزه آشنا باشید، که ما فراموش کرده ایم تا آن ها را در این مقاله قرار دهیم.
اگر شما از این موارد آگاه هستید، حتما در بخش نظرات عنوان کنید تا آن را به مقاله “آموزش PHPDoc” اضافه کنیم. در ضمن اگر این مقاله را مفید دیدید، حتما آن را به دوستان خود معرفی کرده یا در شبکه های اجتماعی به اشتراک بگذارید.
راهنما برای مطالعه بیشتر:
برای تولید مقاله انواع عملگرها در PHP ، از لینک های زیر استفاده شده است که برای مطالعه بیشتر، می توانید به آن ها مراجعه کنید:
راهنما برای خواندن سایر مقالات سایت به صورت دسته بندی شده:
شما می توانید از طریق لینک های کاربردی زیر به سایر مقالات سایت که کاملا بصورت طبقه بندی شده وجود دارد، مراجعه نموده و از آن ها استفاده کنید:
با درود و سپاس
$a = 20;
$b = 30;
$c = $a ++ + 10;
echo “a = $a and c = $c “;
$c = ++ $a + 10;
echo “a = $a and c = $c “;
$c = $b — + 10;
echo “b = $b and c = $c “;
$c = — $b + 10;
echo “b = $b and c = $c “;
در مثالی که برای متغیر های کاهشی گذاشتید فکر میکنم مقدار b باید بجای a قرار بگیره .
قدردان زحماتتون هستم
سلام به شما دوست عزیز،
بله، کاملا درست می فرمایید.
همین الان اصلاحش می کنم.
ممنونم بابت اینکه وقت ارزشمند خودتون رو گذاشتید تا برای ما پیام ارسال کنید.
سپاس فراوان
سلام
در قسمت مربوط “عملگر انتساب رشته ای یا =. در زبان PHP: ” با واژه “concat ” روبرو شدم که راستش متوجه منظور نشدم و باعث شد در نهایت سوال کنم !
ممنون
سلام به شما دوست عزیز
منظور از concat ، خلاصه عبارت concatenation می باشد. معنی فارسی آن «الحاق» می باشد.
در واقع برای اضافه کردن یک رشته به یک رشته دیگر، از این عملگر استفاده می شود. در برنامه نویسی این اصطلاح رایج است که مثلا این رشته با یک رشته دیگر concat شد.
در واقع وقتی دو رشته به هم الحاق می شوند، از این عبارت استفاده می شود.
امیدوارم که تونسته باشم اون رو برای شما درست شرح بدم.
آرزوی موفقیت برای شما دوست عزیز را دارم.
سلام pdf این مقاله موجوده؟
سلام به شما دوست عزیز
متاسفانه pdf این مقاله رو تهیه نکردیم.
به زودی سعی می کنیم کلیه مقالات از این دست رو، pdf هم براشون آماده کنیم و برای دانلود بذاریم.
ممنون از پیشنهاد بسیار خوب شما
تشکر فراوان
واقعا مقاله خوبی در مورد عملگرها در PHP بود، عالی