سطح A: ماشین حساب PHP

در این سطح، با اولین و ملموس‌ترین دسته از عملگرها، یعنی عملگرهای حسابی، آشنا می‌شویم. یاد می‌گیریم که چطور محاسبات ریاضی را در PHP انجام دهیم و نتایج را در متغیرها ذخیره کنیم.

محتوای آموزشی

۱. عملگرهای حسابی (Arithmetic Operators)

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

۲. عملگر باقیمانده (Modulus)

این عملگر شاید کمی جدید باشد اما بسیار پرکاربرد است.

۳. عملگر انتساب (Assignment Operator)

ما قبلاً در گام اول از این عملگر استفاده کرده‌ایم!

۴. اولویت عملگرها (Operator Precedence)

دقیقاً مانند ریاضی، PHP هم برای انجام محاسبات اولویت‌بندی دارد. اولویت اصلی به این صورت است:

  1. پرانتز ( )
  2. ضرب * و تقسیم / و باقیمانده % (هر کدام زودتر بیاید)
  3. جمع + و تفریق -

بنابراین در عبارت $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 انجام دهید:

  1. محاسبه‌گر مستطیل: دو متغیر به نام‌های $width و $height تعریف کرده و به ترتیب مقادیر 10 و 15 را به آن‌ها بدهید. سپس با استفاده از عملگرهای حسابی، مساحت (طول * عرض) و محیط ((طول + عرض) * ۲) مستطیل را محاسبه و هر کدام را در یک خط جداگانه با یک متن گویا چاپ کنید.
  2. تشخیص زوج یا فرد: یک متغیر به نام $my_number تعریف کرده و یک عدد دلخواه (مثلاً 13) به آن بدهید. کدی بنویسید که با استفاده از عملگر باقیمانده (%) تشخیص دهد این عدد زوج است یا فرد و پیام مناسب را چاپ کند. (راهنمایی: می‌توانید از یک دستور if/else ساده استفاده کنید. اگر با آن آشنا نیستید، کافیست نتیجه $my_number % 2 را چاپ کنید و خودتان تفسیرش کنید).

باشگاه ذهن: یک چالش برای هوش مصنوعی

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

وظیفه: یک پرامپت حرفه‌ای برای یک ابزار هوش مصنوعی (مانند Gemini یا ChatGPT) بنویسید. در این پرامپت از او بخواهید:

  1. جدول کامل اولویت عملگرها در PHP را به ترتیب از بالاترین اولویت به پایین‌ترین، لیست کند.
  2. یک مثال کد پیچیده و واقعی ارائه دهد که در آن حداقل سه نوع مختلف از عملگرها (مثلاً حسابی، منطقی و انتسابی ترکیبی مانند +=) به کار رفته باشد.
  3. در آن مثال توضیح دهد که کد خط به خط چگونه و به چه ترتیبی اجرا می‌شود و اگر اولویت‌ها را رعایت نمی‌کردیم، چه نتیجه اشتباهی به دست می‌آمد.

این تمرین به شما کمک می‌کند تا دید جامعی نسبت به نحوه اجرای کد توسط مفسر PHP پیدا کنید.