حلقه ها در زبان برنامه نویسی PHP

02 خرداد 1397
درسنامه درس 7 از سری آموزش PHP
php-season-3-2

در فصل گذشته به تفصیل درباره دستورهای شرطی if و else if صحبت کردیم و مثال هایی را در دنیای واقعی و برنامه نویسی خدمت شما عزیزان ارائه دادیم. در این بخش قصد داریم به ادامه مفاهیم دستورهای کنترلی در PHP پرداخته و شما را با دستورهای جدیدی مانند حلقه ها در زبان برنامه نویسی PHP آشنا کنیم.

حلقه ها در PHP

یکی از مهم ترین و قدرتمندترین ابزارهای زبان های برنامه نویسی حلقه ها هستند که شما با استفاده از آنها می توانید یک دستور را چندین بار (درون یک حلقه) تکرار کنید.

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

حلقه ها در زبان PHP

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

حلقه While در زبان PHP

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

این حلقه به برنامه می گوید: «تا زمانیکه شرط درون پرانتز برقرار بود، کدهای درون من را اجرا کن!».

در مثال دنیای واقعی می توان همان اتوموبیل را مطرح کرد. باک اتوموبیل شما ۱۰ لیتر بنزین دارد و میخواهید تا وقتی که بنزین بیشتر از ۱ لیتر است به رانندگی خود ادامه دهید. در این حالت برنامه شما به صورت زیر خواهد بود:

<?php
	$fuel = 10;
	while ($fuel > 1)
		{
		// به رانندگی ادامه بده ...
		echo "سوخت کافی ست";
	}
?>

در این مثال تا زمانیکه مقدار fuel بیشتر از ۱ است عبارت «سوخت کافی ست» نمایش داده می شود. اما نکته ای که قابل توجه است:‌ هیچوقت مقدار سوخت در برنامه ی فوق تغییر نمی کند. بنابراین برای ترمیم شرط و افزایش بنزین باید یک متغییر دیگر را قرار داده و مقدار آن را (--) کم کنیم. مثال فوق به صورت زیر اصلاح می شود:

<?php
	$fuel = 10;
	while ($fuel > 1)
		{
		// به رانندگی ادامه بده ...
		echo "سوخت کافی ست";
		--$fuel
	}
?>

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

حلقه do ... while در زبان PHP

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

<?php
	$fuel = 10;
	do
	 echo "میزان سوخت ماشین برابر است با؛: ". $fuel
	while ($fuel > 1)
		{
		// به رانندگی ادامه بده ...
		echo "سوخت کافی ست";
		--$fuel
	}
?>

در مثال فوق ابتدا عبارت «میزان سوخت ماشین برابر است با: ۱۰» چاپ می شود و سپس برنامه به درون حلقه می رود و ادامه کدها را اجرا می کند.

حلقه for در زبان PHP

آخرین حلقه در زبان برنامه نویسی PHP‌ حلقه ی for می باشد. این حلقه یکی از قدرتمندترین حلقه های موجود در زبان PHP‌ است که در واقع ترکیبی از حلقه ی while و دستور شرطی if‌ است. حلقه for شامل سه بخش اصلی است: مقداردهی اولیه، شرط، افزایش یا کاهش مقدار اولیه.

در مثال زیر همانطور که ملاحظه می کنید اعداد ۱ تا ۱۲ را با استفاده از یک حلقه نمایش می دهیم:

<?php
	for($count = 1; $count <=12; ++$count){
		echo $count . "<br />;
	}
?>

در این مثال ابتدا یک مقداردهی اولیه برای متغییر count انجام دادیم. سپس در بخش دوم شرط را به گونه ای تعریف کردیم که اگر مقدار اولیه کمتر از ۱۲ بود آن را در خروجی چاپ کند. در نهایت در بخش سوم این مقدار اولیه را ++ (افزایش) دادیم.

دستور Break در PHP

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

فرض کنید در مثال قبلی می خواهیم وقتی مقدار اولیه count$ برابر ۶ شد، برنامه از حلقه خارج شود. در این صورت باید از دستور break که در دستور switch‌ معرفی شد، استفاده کنیم.

<?php
	for($count = 1; $count <=12; ++$count){
		if($count == 6){
			break;
		}
		echo $count . "<br />;
	}
?>

دستور Continue در PHP

در کنار دستور break یک دستور دیگر به نام continue وجود دارد که در صورت برقرار بودن شرط به حلقه می گوید: «از تکرار فعلی صرف نظر کن و به مقدار بعدی برو!». فرض کنید میخواهیم از بین اعداد ۱ تا ۱۲، عدد ۳ را نمایش ندهیم. در این حالت داریم:

<?php
	for($count = 1; $count <=12; ++$count){
		if($count == 3){
			continue;
		}
		echo $count . "<br />;
	}
?>

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

جهت دریافت آموزش ویدیویی صفر تا صد PHP به همراه ساخت CMS مشابه وردپرس روی اینجا یا تصویر زیر کلیک کنید.

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری آموزش PHP توصیه می‌کند:
نویسنده شوید

دیدگاه‌های شما (3 دیدگاه)

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

م
04 مهر 1400
در مثال حلقه for یک دابل کوتیشن جا مانده

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

فرهنگ
10 مرداد 1397
1) { // به رانندگی ادامه بده ... echo "سوخت کافی ست"; --$fuel } ?> اصلاح کنین 1) ?>

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

امین
24 تیر 1397
اساتید محترم با سلام و عرض خسته نباشید بابت مطالب فوق العاده خوب و آموزش روان و زیبا، در قسمت آموزش Do...While نیاز به بازنگری کدمثال می باشد. دستورات تماماً باید در آکولاد های do قرار بگیرند. مانند: $x = 1; do { echo "The number is: $x "; $x++; } while ($x <= 5); با تشکر فراوان

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