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

ساختارهای کنترلی شامل این موارد میشود:
- چگونه یک کد را وقتی اجرا کنیم که یک عبارت True باشد، CLAUSE IF.
- چگونه قسمت دیگري از کد اجرا شود وقتی که همان عبارت False شود، ELSE.
- چگونه از دستور switch استفاده کنیم.
- چگونه یک قسمت از کد را چند مربطه اجرا کنیم، while.
- چگونه از For براي اجراي حلقه استفاده کنیم.
- چگونه یک حلقه For را قطع کنیم.
اغلب script ها نیاز به تغییر خروجی در شرایط مختلف دارند. با استفاده از IF شما می توانید خروجی کدهاي خودتان را در PHP با توجه به یک سري شرایط تغییر دهید.
♦ If
If عبارت داخل پرانتز جلوي خود را کنترل می کند و درصورتی که True باشد، آن قسمت از کد را اجر می نماید.
{
// code to execute if the expression evaluates to true
}
فرمت کلی If بصورت بالاست، expression عبارتی است که باید کنترل شود. و عبارات بین { و } کدي است که در صورت True بودن عبارت If باید اجرا شود.
♦ استفاده از Else در If
فرمت کلی آن به صورت زیر است ، قسمت بعد از else فقط وقتی اجرا می شود که عبارت داخل if برابر False باشد.
{
// code to execute if the expression evaluates to true
}
{
// code to execute in all other cases
}
♦ ElseIf
ElseIf مجددا یک عبارت دیگر را اجرا می نماید و در صورت True بودن دستورات داخلش اجرا خواهد شد. فرمت کلی به صورت زیر است :
{
// code to execute if the expression evaluates to true
}
elseif ( another expression )
{
// code to execute if the previous expression failed
// and this one evaluates to true
else
{
// code to execute in all other cases
}
اگر عبارت IF درست نباشد تکه اول کد نادیده گرفته می شود و نوبت عبارت Esleif می رسد اگر این عبارت درست باشد قسمت دوم کدها اجرا می شود. دستور else در نهایت وقتی اجرا می شود که هیچ کدام از عبارات If و Esleif درست نباشند. شما به هر تعداد که می خواهید می توانید esleif در کدتان بگذارید. و در نهایت Else دلخواه است و می تواند در کد وجود نداشته باشد.
♦ Switch
این دستور روش دیگري براي تغییر مسیر حرکت اجرا شدن کدهاست. دستور switch فقط یک عبارت رو چک می کند و می تواند این عبارت را با مقادیر متفاوتی مقایسه کند و فقط کدي را اجرا کند که مقدار مورد نظر در آن True شود.فرمت کلی به صورت زیر است :
{
case result1:
// execute this if expression results in result1
break;
case result2:
// execute this if expression results in result2
break;
default:
// execute this if no break statement
// has been encountered hitherto
عبارت داخل دستور switch (منظور همان expression داخل پرانتز جلوي آن است) معمولا یک متغیر است. در کد هاي داخل switch (منظور همان قسمت بین { و} است) شما case های مختلفی را می بینید که مقدار متغیر switch با همه این case ها مقایسه می شود و وقتی که مقدار ها با هم برابر بود کد مربوطه اجرا می شود. گذاشتن قسمت default اختیاري است. در صورتی که متغیر با هیچ کدام از مقادیر case ها برابر نباشد ، دستورات default اجرا خواهد شد..دقت کنید که کلمه break در انتهای هر case را حتما بگذارید. در غیر اینصورت کد بعد از اجرا کردن case مورد نظر به راه خود ادامه می دهد و به مقدار default می رسد و آن را نیز اجرا می کند و این در اکثر مواقع چیزي نیست که ما دنبالش باشیم. دستور break در واقع از کل کدهاي case خارج شده و به انتهاي دستور switch میرود.
♦ روش جالب عملگر شرطی علامت سوال
اسم دیگر این روش را میتوان If یک خطی گذاشت، در این روش شما بدون نیاز به نوشتن دستورات If می توانید تابع شرطی ایجاد کنید که در آن عبارتی چک شود و در صورت درست بودن یک سري کد اجرا شود و در صورت اشتباه بودن کد دیگر:
_false;
اگر عبارت داخل پرانتز ما True بود کد بعد از علامت سوال اجرا می شود و در غیر اینصورت کد بعد از : اجرا خواهد شد.
♦ حلقه ها
تا به حال روشهایی را دیدید که به وسیله آن کد می تواند بین اینکه کدام کد را اجرا کند انتخاب داشته باشد.همچنین کد می تواند تصمیم بگیرد که چند بار یک قسمت را اجرا کند.حلقه هاي براي این ایجاد شده اند که به شما اجازه دهند یک عملیات را چند مرتبه اجرا نمایید. تقریبا بدون استثناء ، همه حلقه ها آنقدر اجرا می شوند تا اینکه یک شرایطی (که از توسط شما مشخص می شود) اتفاق بیافتد و یا اینکه شما شخصا دستور قطع و خروج از loop را بدهید.
♦ while
تا وقتی که عبارت while (منظور همان expression داخل پرانتز جلوي آن است) True باشد کد داخل While پشت سر هم اجرا می شود. معمولا شما در داخل حلقه کاری میکنید که عبارت مرتبا تغییر کند و یک جا False شود در غیر اینصورت حلقه شما تا بینهایت اجرا می شود.
♦ حلقه do و While
این حلقه شبیه حلقه while است فقط سر و ته شده است ! بزرگترین فرق آن این است که ابتدا کدها اجرا می شوند و بعد درستی یا نادرستی عبارت چک می شود.
// code to be executed
}
while ( expression );
توجه کنید که آخر عبارت While در خط آخر ،حتما ; گذاشته شود.این متد وقتی خیلی به درد می خورد که شما بخواهید کد شما حداقل یکبار اجرا شود حتی اگر شرایط عبارت While اتفاق نیافتاده باشد.
♦ حلقه For
شما هیچ چیزي از استفاده از For به دست نمی آورید که نتوانید با While آن را ایجاد کنید. ولی در هر حال در اغلب مواقع استفاده از For کدهاي زیباتر و بهتري نسبت به While ایجاد میکند.فرمت کلی به صورت زیر است :
{
// code to be executed
}
هر عبارت داخل for حتما باید با ; از هم جدا شوند. معمولا ، عبارت اول یک متغیر شمارنده ایجاد می کند ، و در عبارت دوم عبارت کنترلی براي loop است ، و قسمت سوم اضافه کردن و کم نمودن متغیر را ایجاد می کند.شما هر کدام از قسمتهاي for را میتوانید خالی بگذارید ولی ; ها حتما باید نوشته شوند.
♦ خروج از حلقه با استفاده از دستور break
در هر دو روش ایجاد حلقه دستوري براي پایان دادن حلقه وجود دارد. گاهی اوقات نیاز است که وقتی کد به شرایط خاصی رسید حلقه پایان یابد.
♦ استفاده از دستور continue
فرض کنید در یک حلقه بخواهیم فقط به ازای یک مقدار خاص کد حلقه اجرا نشود و برای باقی مقادیر اجرا شود، در این حالت از دستور continue استفاده میکنیم.
♦ حلقه هاي تو در تو
در PHP این قابلیت را دارید که در داخل یک حقله یک یا چند حلقه دیگه را نیز بیاورید. ولی باید توجه داشته باشید که هر حلقه اي که در یک حلقه دیگر استفاده می کنید باید در همان حلقه تمام شود.
بسیار مفید بود بخصوص دقت شما در توضیحات فارسی . من جایی به این خوبی توضیح ندیدم . البته مثال کم بود ولی ممنون در کل.