سطح A: ماشین حساب PHP
در این سطح، با اولین و ملموسترین دسته از عملگرها، یعنی عملگرهای حسابی، آشنا میشویم. یاد میگیریم که چطور محاسبات ریاضی را در PHP انجام دهیم و نتایج را در متغیرها ذخیره کنیم.
محتوای آموزشی
۱. عملگرهای حسابی (Arithmetic Operators)
این عملگرها دقیقاً مانند چیزهایی هستند که در ریاضیات یاد گرفتهاید. PHP میتواند تمام محاسبات پایهای را برای شما انجام دهد:
+(جمع): دو مقدار را با هم جمع میکند.echo 5 + 3; // خروجی: 8-(تفریق): مقدار دوم را از اولی کم میکند.echo 10 - 4; // خروجی: 6*(ضرب): دو مقدار را در هم ضرب میکند.echo 7 * 2; // خروجی: 14/(تقسیم): مقدار اول را بر دوم تقسیم میکند.echo 20 / 4; // خروجی: 5
۲. عملگر باقیمانده (Modulus)
این عملگر شاید کمی جدید باشد اما بسیار پرکاربرد است.
%(باقیمانده): باقیماندهی تقسیم عدد اول بر عدد دوم را برمیگرداند.- مثال:
10 % 3میشود1. (چون ۱۰ تقسیم بر ۳ میشود ۳ و ۱ باقیمانده دارد). - کاربرد کلیدی: این عملگر بهترین راه برای تشخیص زوج یا فرد بودن یک عدد است. اگر باقیمانده تقسیم یک عدد بر ۲ برابر با ۰ باشد، آن عدد زوج است.
- مثال:
۳. عملگر انتساب (Assignment Operator)
ما قبلاً در گام اول از این عملگر استفاده کردهایم!
=(انتساب): این عملگر مقدار سمت راست خود را در متغیر سمت چپ قرار میدهد (منتسب میکند).- مهم:
=را با "مساوی بودن" اشتباه نگیرید. این عملگر یک فرمان برای ریختن مقدار در یک متغیر است.$x = 10;یعنی "مقدار ۱۰ را در متغیر x بریز".
- مهم:
۴. اولویت عملگرها (Operator Precedence)
دقیقاً مانند ریاضی، PHP هم برای انجام محاسبات اولویتبندی دارد. اولویت اصلی به این صورت است:
- پرانتز
( ) - ضرب
*و تقسیم/و باقیمانده%(هر کدام زودتر بیاید) - جمع
+و تفریق-
بنابراین در عبارت $result = 5 + 3 * 2;، ابتدا 3 * 2 حساب میشود (که ۶ است) و سپس با ۵ جمع میشود. پس نتیجه نهایی 11 خواهد بود، نه 16. اگر بخواهیم اولویت را تغییر دهیم، از پرانتز استفاده میکنیم: $result = (5 + 3) * 2; که نتیجهاش 16 میشود.
کارگاه عملی: محاسبه هزینه خرید
در کد زیر، قیمت چند کالا را محاسبه کرده، سپس با استفاده از اولویت عملگرها، مالیات را اضافه و هزینه نهایی را نمایش میدهیم. خروجی زنده را در کادر مقابل ببینید.
<?php
$price_notebook = 25; // قیمت دفتر
$price_pen = 5; // قیمت خودکار
$quantity_notebook = 2;
$quantity_pen = 4;
// محاسبه هزینه کل قبل از مالیات
$sub_total = ($price_notebook * $quantity_notebook) + ($price_pen * $quantity_pen);
// نرخ مالیات (۹ درصد)
$tax_rate = 0.09;
$tax_amount = $sub_total * $tax_rate;
// هزینه نهایی
$total_cost = $sub_total + $tax_amount;
echo "هزینه خرید دفترها: " . ($price_notebook * $quantity_notebook) . " تومان";
echo "<br>";
echo "هزینه خرید خودکارها: " . ($price_pen * $quantity_pen) . " تومان";
echo "<hr>";
echo "جمع کل خرید (قبل از مالیات): " . $sub_total . " تومان";
echo "<br>";
echo "مبلغ مالیات (۹٪): " . $tax_amount . " تومان";
echo "<br>";
echo "<strong>مبلغ نهایی قابل پرداخت: " . $total_cost . " تومان</strong>";
?>
تمرین شما
صورت تمرین: شما دو وظیفه دارید که باید در یک فایل practice.php انجام دهید:
- محاسبهگر مستطیل: دو متغیر به نامهای
$widthو$heightتعریف کرده و به ترتیب مقادیر10و15را به آنها بدهید. سپس با استفاده از عملگرهای حسابی، مساحت (طول * عرض) و محیط ((طول + عرض) * ۲) مستطیل را محاسبه و هر کدام را در یک خط جداگانه با یک متن گویا چاپ کنید. - تشخیص زوج یا فرد: یک متغیر به نام
$my_numberتعریف کرده و یک عدد دلخواه (مثلاً13) به آن بدهید. کدی بنویسید که با استفاده از عملگر باقیمانده (%) تشخیص دهد این عدد زوج است یا فرد و پیام مناسب را چاپ کند. (راهنمایی: میتوانید از یک دستورif/elseساده استفاده کنید. اگر با آن آشنا نیستید، کافیست نتیجه$my_number % 2را چاپ کنید و خودتان تفسیرش کنید).
باشگاه ذهن: یک چالش برای هوش مصنوعی
چالش شما: ما با اولویت عملگرهای حسابی آشنا شدیم. اما در PHP عملگرهای بسیار بیشتری وجود دارد (مانند عملگرهای منطقی، انتسابی و...). این عملگرها نیز جدول اولویتبندی بسیار دقیقی دارند که ندانستن آن میتواند منجر به باگهای غیرمنتظره شود.
وظیفه: یک پرامپت حرفهای برای یک ابزار هوش مصنوعی (مانند Gemini یا ChatGPT) بنویسید. در این پرامپت از او بخواهید:
- جدول کامل اولویت عملگرها در PHP را به ترتیب از بالاترین اولویت به پایینترین، لیست کند.
- یک مثال کد پیچیده و واقعی ارائه دهد که در آن حداقل سه نوع مختلف از عملگرها (مثلاً حسابی، منطقی و انتسابی ترکیبی مانند
+=) به کار رفته باشد. - در آن مثال توضیح دهد که کد خط به خط چگونه و به چه ترتیبی اجرا میشود و اگر اولویتها را رعایت نمیکردیم، چه نتیجه اشتباهی به دست میآمد.
این تمرین به شما کمک میکند تا دید جامعی نسبت به نحوه اجرای کد توسط مفسر PHP پیدا کنید.