در قسمت قبلی کار با آرایه ها در PHP را یاد گرفتیم. در این بخش از سری آموزش php قصد داریم نحوه تکرار یک سری از عملیات با حلقه ها در PHP را آموزش بدیم.
انواع مختلف حلقه ها در PHP
حلقه ها (Loops) برای اجرای دوباره و دوباره بلاک ی از کد استفاده می شود تا درنهایت یک شرط خاص برقرار شود.
ایده ساده پشت یک حلقه, خودکار کردن عملیات تکراری داخل یک برنامه برای ذخیره زمان و انرژی است.
PHP چهار نوع مختلف حلقه ها را پشتیبانی می کند
- while – یک بلاک از کد را تا زمانی که شرط برابر
true
است, پشت سرهم اجرا می کند - do…while – یکبار بلاک کد اجرا و سپس شرط ارزیابی می شود. اگر شرط
true
بود پس دستور تا زمانی که شرطtrue
بماند اجرا خواهد شد. - for – کدهای داخل بلاک را تا زمانی که شمارشگر به عدد خاصی برسد اجرا می کند
- foreach – به ازای هر یک از المان های داخل یک آرایه, بلاک کد را یکبار اجرا می کند
همچنین نحوه اجرای حلقه روی مقادیر آرایه با foreach()
را در آخر این بخش یاد می گیرید. حلقه foreach مخصوصا برای کار با آرایه ها است.
حلقه while در php
دستور while
یک بلاک از کد را تا زمانی که شرط داخل while
برابر true
باشد را اجرا می کند
1 2 3 |
while(condition){ // Code to be executed } |
مثال پایین یک حلقه را تعریف کرده است که از $i=1
شروع می شود. این حلفه تا زمانی که $i
کمتر یا مساوی ۳
باشد اجرا خواهد شد.
متغیر $i با هر بار اجرای حلقه یکی به مقدار آن اضافه می شود.
1 2 3 4 5 6 7 |
<?php $i = 1; while($i <= 3){ $i++; echo "The number is " . $i . "<br>"; } ?> |
حلقه do…while در php
حلقه do-while
یک متغیر از حلقه while است که شرط را در آخر و بعد از اجرای کد ارزیابی می کند.
با حلقه do-while بلاک کد یکبار اجرا و سپس شرط ارزیابی می گردد. اگر شرط true
بود, دستور تا زمانی که شرط همچنان true
بماند تکرار خواهد شد.
1 2 3 4 |
do{ // Code to be executed } while(condition); |
مثال زیر یک حلقه را تعریف کرده است که با $i=1
شروع می شود. سپس مقدار $i
را بعلاوه ۱ و سپس خروجی را چاپ می کند.
سپس شرط ارزیابی می گردد و حلقه تا زمانی که $i
کوچکتر یا مساوی ۳ باشد ادامه خواهد داشت.
1 2 3 4 5 6 7 8 |
<?php $i = 1; do{ $i++; echo "The number is " . $i . "<br>"; } while($i <= 3); ?> |
تفاوت بین حلقه while و do…while
در یک مورد مهم حلقه while
با حلقه do-while
تفاوت دارد :
با یک حلقه while
شرط مورد ارزیابی یکبار در اول هر تکرار حلفه تست می شود, بنابراین اگر در همان ابتدا شرط false
باشد, حلقه به هیچ وجه اجرا نخواهد شد.
از سوی دیگر, حلقه do-while
همیشه یکبار اجرا خواهد شد حتی اگر شرط false
باشد, چراکه شرط در اخر و بعد از یکبار اجرای کد ارزیابی می شود.
حلقه for در php
حلقه for
کدهای بلاک را تا زمانی که شرط برقرار باشد تکرار می کند. این حلقه معمولا برای اجرای بلاک کدها به تعداد مشخص استفاده می شود.
1 2 3 |
for(initialization; condition; increment){ // Code to be executed } |
معنای پارامترهای حلقه for بصورت زیر است :
Initialization
– برای ایجاد متغیر شمارشگر (counter) استفاده می شود و یک بار بدون قید و شرط قبل از اولین اجرای حلقه، ارزیابی می شود.Condition
– در ابتدای هر تکرار, این شرط ارزیابی می شود. اگر true بود حلقه ادامه می دهد و دستورات تو در تو اجرا می شود. اگر false بود که حلقه به پایان می رسد.Increment
– شمارشگر حلقه را با مقدار جدید بروزرسانی می کند. این مورد در پایان هر تکرار ارزیابی می شود.
مثال زیر یک حلقه که با $i=1
شروع می شود را تعریف کرده است. حلقه تا زمانی که $i
کوچکتر یا مساوی ۳ باشد ادامه می یابد. متغیر $i
با هربار اجرای حلقه یکی به آن اضافه می شود :
1 2 3 4 5 |
<?php for($i=1; $i<=3; $i++){ echo "The number is " . $i . "<br>"; } ?> |
حلقه foreach در php
حلقه foreach
برای تکرار روی آرایه ها استفاده می شود.
1 2 3 |
foreach($array as $value){ // Code to be executed } |
مثال زیر یک حلقه را روی آرایه به منظور نمایش مقادیر آن اجرا می کند:
1 2 3 4 5 6 7 8 |
<?php $colors = array("Red", "Green", "Blue"); // Loop through colors array foreach($colors as $value){ echo $value . "<br>"; } ?> |
یک سینتکس دیگر برای حلقه foreach
بصورت زیر نیز وجود دارد و جفت کلید/مقدار آرایه را بیرون می کشد.
1 2 3 |
foreach($array as $key => $value){ // Code to be executed } |
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $superhero = array( "name" => "Peter Parker", "email" => "peterparker@mail.com", "age" => 18 ); // Loop through superhero array foreach($superhero as $key => $value){ echo $key . " : " . $value . "<br>"; } ?> |
امیدوارم در این بخش آموزش PHP, از کار با حلقه ها در php نهایت استفاده را برده باشید.
در بخش بعدی نحوه ساخت و کار با توابع در PHP را یاد می گیریم.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق باشید