60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

آموزش حلقه for در php حلقه های تکرار شونده

حلقه for

 

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

 

زمانی که شما قصد دارید قطعه کدی را چندین مرحله تکرار کنید یک راه این است که این قطعه کد را به تعداد دفعات مورد نظر در کد اصلی وارد کنید. اما روش ساده تر استفاده از حلقه for است. البته باید توجه داشته باشید که در هنگام استفاده از این حلقه باید شرط خروج از حلقه را مشخص کنید تا برنامه پایان درستی داشته باشد. در بخش آموزش دستورات شرطی  روشهای مختلف برای تعریف شرط را به طور کامل معرفی کردیم. در این بخش به نحوه تکرار یک دستور شرطی با استفاده از حلقه for می پردازیم. در این ویدیو آموزش دستور حلقه for در php را به زبانی ساده بیان کرده ایم تا شما را با نحوه کار این دستور آشنا کنیم.

 

حلقه for در php

حلقه for در php برای تکرار عملیات به اندازه تعیین شده کاربرد دارد. برای درک بهتر مبحث آموزش حلقه for در php ، به تشریح جزیی تر اجزای یک حلقه می پردازیم. یک حلقه for از چهار جز اصلی تشکیل شده است:

init counter : شمارشگر حلقه که در ابتدا یک مقدار اولیه برای آن تعریف می شود و در هر مرحله به اندازه تعیین شده، افزایش می یابد. مقدار این شمارشگر می تواند در داخل حلقه یا قبل از دستور حلقه و خارج از آن تعریف شود

test counter : عبارت شرطی تعریف شده که در هر مرحله بررسی می شود و شرط پایان حلقه است. یعنی در صورت برقراری آن اجرای جلقه متوقف می شود. در صورتی که این شرط در دستور حلقه قرار داده نشود، حلقه متوقف نمی شود و بی نهایت بار تکرار می شود.

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

ساختار کلی حلقه ها به فرم زیر است:

در مثال زیر تک تک این پارامترها را بررسی می کنیم:

 

نکته :

در دستور for ، هر کدام از این پارامترها می تواند خالی باشد اما گاهی این اتفاق باعث خطا در کد ما می شود. مثلا اگر قسمت condition یا شرط را خالی بگذاریم همواره مقدار true برای آن قرار می گیرد و حلقه در دور بی نهایت (infinite loop) می افتد. این حالت تا زمانی ادامه می یابد که حافظه سیستمی که برنامه را اجرا می کند، پر شود
برای هر پارامتر می توان بیش از یک مقدار یا دستور قرار داد برای این کار باید با استفاده از علامت “” این دستورات را از هم تفکیک نمایید
کد بالا یک مثال حلقه for در php است که سه پارامتر دستور for در داخل پرانتز روبروی for قرار داده شده اند. قسمت دیگر یک دستور for عملیاتی است که در صورت برقرار شرط حلقه اجرا می شود. بعنوان مثال در کد بالا این عملیات نمایش مقدار متغیر x می باشد.

 

 

دستورات کنترلی تکرار حلقه

دو دستور کلی در استفاده از حلقه for در php ، برای کنترل تکرار دستورات داخلی حلقه وجود دارد. یک مورد، دستور break که می توان برای جلوگیری از بروز دور بی نهایت یا infinite loop در حلقه از آن استفاده کرد. این دستور برای قطع کردن و شکستن اجرای عادی یک دستور در حلقه تحت یک شرایط بخصوص، بکار می رود. در کد زیر نمونه ای از استفاده از این دستور را می بینیم:

 

یکی دیگر از این دستورات، continue است. با کمک این دستور می توان یک گام اجرایی در حلقه را رد کرد و به گام بعدی پرش کرد. کد زیر یک مثال حلقه for در php با استفاده از دستور continue است.

 

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

 

 

حلقه تو در تو php

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

 

خروجی دستور به صورت زیر نمایش داده می شود.

 

ساخت پسورد با کمک حلقه for

یکی از جالب ترین کاربردهای حلقه for در php ساخت پسورد یا هش است. حتما در برخی از سایتها دیده اید که خود سایت به کاربران یک پسورد پیچیده پیشنهاد می دهد یا زمانی که می خواهید پسوردتان را تغییر دهید یک ایمیل بازیابی حاوی یک پسورد برای شما ارسال می شود. این پسوردها معمولا بصورت رندوم تولید می شوند. یکی از روش های ساخت این نوع پسورد استفاده از حلقه for است. کد زیر نمونه ای از این نوع پسوردسازی را نشان می دهد.

خروجی کد بالا بصورت زیر است:

اما این خروجی ثابت نیست و هربار یک رشته بصورت رندوم تولید می شود. احتمال تولید دو پسورد یکسان بسیار کم است. در این کد ما ابتدا یک متغیر خالی بنام password می سازیم. سپس یک حلقه for با هشت دور گردش تعریف می کنیم یعنی این حلقه یک پسورد هشت کاراکتری برای ما می سازد. در هر دور حلقه دو تابع char و rand اجرا می شوند. تابع char یک کاراکتر از نوع رشته برای ما می سازد و تابع rand یک عدد رندوم بین ۰ تا ۲۵ را به عنوان خروجی برمی گرداند. جمع این عدد با ۹۷ باعث می شود که عدد ما تصادفی تر شود و مقدار رشته ای معادل آن در داخل متغیر پسورد قرار گیرد.

اما نکته جالب این کد استفاده از “=.” است. اگر نمی دانید این عملگر چه کاری انجام می دهد باید به سراغ مفهوم  Concatenation بروید. این عملگر مقدار جدید را به مقدار قبلی یک متغیر می چسباند. یعنی در هر دور حلقه for یک مقدار جدید توسط تابع rand و char تولید می شود و با استفاده از این عملگر به مقدار قبلی password اضافه می شود یا به اصطلاح می چسبد. خروجی نهایی ما یک متغیر هشت کاراکتری کاملا تصادفی است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *