آموزش برنامه نویسی PHP-جلسه پنجم

آموزش برنامه نویسی PHP-جلسه پنجم

دستورات شرطی برای انجام اقدامات مختلف براساس شرایط مختلف استفاده می‌شود.

آموزش شرط‌ها و حلقه‌ها در PHP؛ از ifو switchتا حلقه‌های whileو for

در برنامه‌نویسی، تقریباً همیشه لازم است بر اساس یک شرایط خاص تصمیم بگیریم یا یک بخش از کد را چندین بار اجرا کنیم. زبان PHP برای انجام این کار، ساختارهای شرطی (Conditional Statements) و حلقه‌ها (Loops) را در اختیار برنامه‌نویس قرار می‌دهد.

در این قسمت از سری آموزش رایگان PHP، با ساختارهای if، else و switch آشنا می‌شویم و سپس به سراغ حلقه‌های while، do while و for می‌رویم. یادگیری این مفاهیم یکی از پایه‌های مهم برنامه‌نویسی PHP است و در پروژه‌های واقعی کاربرد بسیار زیادی دارد.


ساختارهای شرطی در PHP چی هستند؟

فرض کنید می‌خواهیم برنامه‌ای بنویسیم که اگر سن کاربر بیشتر از ۱۸ سال بود، یک پیام خاص نمایش دهد.

در این شرایط، برنامه باید ابتدا یک شرط را بررسی کند و سپس بر اساس نتیجه آن تصمیم بگیرد که چه کدی اجرا شود.

به چنین ساختاری، شرط یا Conditional Statement گفته می‌شود.

در PHP مهم‌ترین ساختارهای شرطی عبارت‌اند از:

  • if
  • else
  • elseif
  • switch

آموزش ifدر PHP

ساختار if یکی از پرکاربردترین دستورات شرطی در PHP است.

با استفاده از if می‌توانیم مشخص کنیم که اگر یک شرط برقرار بود، کد خاصی اجرا شود.

ساختار کلی:

 
if (condition) {
    // code
}
 

برای مثال:

 
$age = 20;

if ($age >= 18) {
    echo "You are an adult";
}
 

در این مثال مقدار متغیر $age برابر با ۲۰ است.

برنامه بررسی می‌کند:

 
$age >= 18
 

چون این شرط درست است، دستور echo اجرا می‌شود و نتیجه زیر نمایش داده خواهد شد:

 
You are an adult
 

مثال کاربردی‌تر

 
$score = 85;

if ($score >= 60) {
    echo "You passed the exam.";
}
 

اگر نمره کاربر ۶۰ یا بیشتر باشد، پیام قبولی نمایش داده می‌شود.


استفاده از elseدر PHP

گاهی اوقات می‌خواهیم اگر شرط if درست نبود، بخش دیگری از برنامه اجرا شود.

در این شرایط از else استفاده می‌کنیم.

ساختار کلی:

 
if (condition) {
    // اگر شرط درست باشد
} else {
    // اگر شرط درست نباشد
}
 

مثال:

 
$age = 16;

if ($age >= 18) {
    echo "You can enter.";
} else {
    echo "You cannot enter.";
}
 

در اینجا چون مقدار $age برابر با ۱۶ است، شرط برقرار نیست و قسمت else اجرا می‌شود.


استفاده از elseif

گاهی اوقات فقط دو حالت نداریم و لازم است چند شرط مختلف را بررسی کنیم.

برای این کار می‌توانیم از elseif استفاده کنیم.

مثال:

 
$score = 75;

if ($score >= 90) {
    echo "Excellent";
} elseif ($score >= 70) {
    echo "Good";
} elseif ($score >= 60) {
    echo "Acceptable";
} else {
    echo "Failed";
}
 

PHP شرط‌ها را از بالا به پایین بررسی می‌کند.

در این مثال:

  • اگر نمره ۹۰ یا بیشتر باشد → Excellent
  • اگر نمره بین ۷۰ تا ۸۹ باشد → Good
  • اگر نمره بین ۶۰ تا ۶۹ باشد → Acceptable
  • در غیر این صورت → Failed

نکته مهم در استفاده از شرط‌ها

در PHP می‌توانیم از عملگرهای مقایسه‌ای برای ساخت شرط استفاده کنیم.

برای مثال:

 
$a == $b
 

بررسی می‌کند که آیا دو مقدار برابر هستند یا خیر.

برخی از عملگرهای پرکاربرد:

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

مثال:

 
$age = 25;

if ($age > 18) {
    echo "Adult";
}
 

آموزش switchدر PHP

ساختار switch زمانی کاربرد دارد که بخواهیم یک مقدار را با چند حالت مختلف مقایسه کنیم.

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

 
$day = 3;

switch ($day) {
    case 1:
        echo "Saturday";
        break;

    case 2:
        echo "Sunday";
        break;

    case 3:
        echo "Monday";
        break;

    default:
        echo "Invalid day";
}
 

در این مثال مقدار $day برابر با ۳ است، بنابراین:

 
Monday
 

نمایش داده می‌شود.


caseدر switch چیست؟

هر case یک حالت مختلف را مشخص می‌کند.

مثلاً:

 
switch ($day) {
    case 1:
        echo "Saturday";
        break;

    case 2:
        echo "Sunday";
        break;
}
 

PHP مقدار $day را با مقدارهای مشخص‌شده در case مقایسه می‌کند.


کاربرد break

دستور break بسیار مهم است.

بعد از اینکه PHP یک case را پیدا کرد، با استفاده از break از اجرای ادامه switch جلوگیری می‌کنیم.

مثال:

 
$number = 2;

switch ($number) {
    case 1:
        echo "One";
        break;

    case 2:
        echo "Two";
        break;

    case 3:
        echo "Three";
        break;
}
 

خروجی:

 
Two
 

defaultدر switch

اگر هیچ‌کدام از caseها با مقدار موردنظر مطابقت نداشته باشند، قسمت default اجرا می‌شود.

 
$number = 10;

switch ($number) {
    case 1:
        echo "One";
        break;

    case 2:
        echo "Two";
        break;

    default:
        echo "Unknown number";
}
 

خروجی:

 
Unknown number
 

حلقه‌ها در PHP چی هستند؟

یکی از مهم‌ترین قابلیت‌های هر زبان برنامه‌نویسی، امکان تکرار یک بخش از کد است.

فرض کنید می‌خواهیم اعداد ۱ تا ۱۰۰ را نمایش دهیم.

بدون حلقه باید کدهای زیادی بنویسیم:

 
echo 1;
echo 2;
echo 3;
 

و همین‌طور ادامه دهیم.

اما با استفاده از حلقه‌ها می‌توانیم این کار را با چند خط کد انجام دهیم.

در PHP چند نوع حلقه پرکاربرد وجود دارد که در این قسمت با آن‌ها آشنا می‌شویم:

  • while
  • do while
  • for

آموزش حلقه whileدر PHP

حلقه while تا زمانی که یک شرط درست باشد، کدهای داخل خودش را اجرا می‌کند.

ساختار کلی:

 
while (condition) {
    // code
}
 

مثال:

 
$i = 1;

while ($i <= 5) {
    echo $i;
    $i++;
}
 

خروجی:

 
12345
 

در این مثال ابتدا $i برابر ۱ است.

حلقه بررسی می‌کند:

 
$i <= 5
 

تا زمانی که این شرط درست باشد، کد داخل حلقه اجرا می‌شود.

در هر بار اجرای حلقه نیز:

 
$i++;
 

مقدار $i را یک واحد افزایش می‌دهد.


چرا افزایش متغیر در while مهم است؟

یکی از اشتباهات رایج هنگام استفاده از while این است که متغیر کنترل‌کننده حلقه را تغییر ندهیم.

مثلاً:

 
$i = 1;

while ($i <= 5) {
    echo $i;
}
 

در این حالت مقدار $i هیچ‌وقت تغییر نمی‌کند و شرط همیشه درست باقی می‌ماند.

در نتیجه با یک حلقه بی‌نهایت (Infinite Loop) مواجه می‌شویم.

روش صحیح:

 
$i = 1;

while ($i <= 5) {
    echo $i;
    $i++;
}
 

آموزش حلقه do whileدر PHP

حلقه do while شبیه while است، اما یک تفاوت مهم دارد.

در do while، کد حداقل یک بار اجرا می‌شود و بعد شرط بررسی می‌شود.

ساختار:

 
do {
    // code
} while (condition);
 

مثال:

 
$i = 1;

do {
    echo $i;
    $i++;
} while ($i <= 5);
 

خروجی:

 
12345
 

تفاوت while و do while

به این مثال توجه کنید:

 
$i = 10;

while ($i < 5) {
    echo $i;
}
 

چون شرط از ابتدا غلط است، کد داخل while اصلاً اجرا نمی‌شود.

اما:

 
$i = 10;

do {
    echo $i;
} while ($i < 5);
 

در این حالت ابتدا echo اجرا می‌شود و سپس شرط بررسی می‌شود.

بنابراین خروجی:

 
10
 

است.

خلاصه تفاوت

while:

ابتدا شرط را بررسی می‌کند، سپس کد را اجرا می‌کند.

do while:

ابتدا کد را اجرا می‌کند، سپس شرط را بررسی می‌کند.


آموزش حلقه forدر PHP

حلقه for یکی از پرکاربردترین حلقه‌ها در PHP است؛ مخصوصاً زمانی که می‌دانیم حلقه باید چند بار اجرا شود.

ساختار کلی:

 
for (initialization; condition; increment) {
    // code
}
 

مثال:

 
for ($i = 1; $i <= 5; $i++) {
    echo $i;
}
 

خروجی:

 
12345
 

در این مثال سه بخش مهم داریم:

 
$i = 1
 

مقدار اولیه متغیر را مشخص می‌کند.

 
$i <= 5
 

شرط ادامه اجرای حلقه است.

 
$i++
 

بعد از هر بار اجرای حلقه، مقدار $i را یک واحد افزایش می‌دهد.


مثال کاربردی برای حلقه for

فرض کنید می‌خواهیم جدول ضرب عدد ۵ را ایجاد کنیم:

 
for ($i = 1; $i <= 10; $i++) {
    echo "5 x $i = " . (5 * $i) . "<br>";
}
 

خروجی چیزی شبیه این خواهد بود:

 
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
...
5 x 10 = 50
 

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


مقایسه حلقه‌های while، do while و for

هر سه حلقه برای تکرار کد استفاده می‌شوند، اما کاربردشان می‌تواند متفاوت باشد.

حلقهکاربرد
whileزمانی که شرط تعیین‌کننده ادامه حلقه است
do whileزمانی که می‌خواهیم کد حداقل یک بار اجرا شود
forزمانی که تعداد تکرار یا ساختار شمارنده مشخص است

برای مثال اگر بدانیم می‌خواهیم دقیقاً ۱۰ بار یک عملیات را انجام دهیم، for معمولاً انتخاب مناسبی است:

 
for ($i = 1; $i <= 10; $i++) {
    echo $i;
}
 

اما زمانی که نمی‌دانیم دقیقاً چند بار قرار است حلقه اجرا شود و ادامه آن به یک شرط وابسته است، while می‌تواند انتخاب مناسبی باشد.


ترکیب شرط‌ها و حلقه‌ها در PHP

در پروژه‌های واقعی معمولاً شرط‌ها و حلقه‌ها را به صورت جداگانه استفاده نمی‌کنیم؛ بلکه آن‌ها را با یکدیگر ترکیب می‌کنیم.

برای مثال:

 
for ($i = 1; $i <= 10; $i++) {

    if ($i % 2 == 0) {
        echo "$i is even<br>";
    }

}
 

در این مثال ابتدا اعداد ۱ تا ۱۰ توسط حلقه for تولید می‌شوند.

سپس با استفاده از if بررسی می‌کنیم که آیا عدد زوج است یا خیر.

عملگر:

 
%
 

باقی‌مانده تقسیم را محاسبه می‌کند.

بنابراین اگر:

 
$i % 2 == 0
 

باشد، عدد زوج است.


مثال کاربردی دیگر؛ نمایش اعداد زوج

 

$i = 1;

while ($i <= 20) {

    if ($i % 2 == 0) {
        echo $i . "<br>";
    }

    $i++;
}
 

در این مثال حلقه اعداد ۱ تا ۲۰ را بررسی می‌کند و شرط if فقط اعداد زوج را نمایش می‌دهد.


چرا یادگیری شرط‌ها و حلقه‌ها در PHP مهم است؟

ساختارهای شرطی و حلقه‌ها تقریباً در تمام پروژه‌های واقعی PHP استفاده می‌شوند.

برای مثال در یک سایت فروشگاهی ممکن است نیاز داشته باشیم:

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

تمام این موارد به درک صحیح شرط‌ها و حلقه‌ها نیاز دارند.


جمع‌بندی

در این قسمت از آموزش PHP با یکی از مهم‌ترین مباحث پایه برنامه‌نویسی آشنا شدیم.

ابتدا ساختارهای شرطی را بررسی کردیم:

  • if
  • else
  • elseif
  • switch
  • case
  • break
  • default

سپس با مفهوم حلقه‌ها آشنا شدیم و نحوه استفاده از موارد زیر را یاد گرفتیم:

  • while
  • do while
  • for

همچنین دیدیم که چگونه می‌توانیم شرط‌ها و حلقه‌ها را با یکدیگر ترکیب کنیم و از آن‌ها برای حل مسائل مختلف استفاده کنیم.

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

اشتراک گذاری :
مریم گوهرزاد
نویسنده

مریم گوهرزاد

مدرس و بنیانگذار هلدینگ آرتا رسانه. برنامه نویس و محقق حوزه بلاکچین و توسعه‌دهنده بلاکچین | متخصص Solidity | توسعه‌دهنده وب Full-Stackمن یک توسعه‌دهنده علاقه‌مند به فناوری‌های بلاکچین و وب ۳ هستم و در زمینه Solidity، توسعه قراردادهای هوشمند و ساخت برنامه‌های غیرمتمرکز (DApps) فعالیت می‌کنم. تمرکز من بر طراحی و پیاده‌سازی راهکارهایی است که در کنار بهره‌گیری از فناوری‌های نوین، عملکرد مناسب، امنیت و تجربه کاربری مطلوبی ارائه دهند.در کنار تخصص در حوزه بلاکچین، به عنوان یک توسعه‌دهنده وب Full-Stack نیز در طراحی و توسعه وب‌سایت‌ها و برنامه‌های تحت وب فعالیت می‌کنم. تجربه کار در بخش‌های Front-End و Back-End به من این امکان را داده است که پروژه‌ها را از مرحله ایده و طراحی تا توسعه و اجرا، با دیدی جامع دنبال کنم. در فرآیند توسعه، توجه ویژه‌ای به کدنویسی تمیز، معماری مناسب، طراحی واکنش‌گرا، عملکرد مطلوب و تجربه کاربری روان دارم.

TEST_VALUE_123
https://t.me/artarasaneh
tel:09193426251
https://wa.me/+989193426251
https://instagram.com/artarasaneh_com