سرفصلهای پست
آموزش طراحی سایت با پی اچ پی – حلقه for و foreach
سلام به عزیزان و علاقمندان به آموزش پی اچ پی به زبان ساده. دوستان عزیز جلسه قبل از آموزش php به بررسی دستورات حلقه while و حلقه do while پرداختیم. در این جلسه دو دستور کاربردی به نام دستور for
و foreach
در php را مورد ارزیابی قرار خواهیم داد.
دستور for
دستور for در پی اچ پی زمانی مورد استفاده قرار می گیرد که بخواهیم قطعه کدی را به دفعات مورد نیاز تکرار کنیم. در این دستور تعداد دفعات چرخش حلقه معین است و توسط برنامه نویس مشخص میشود.
ساختار دستور for
for (init counter; test counter; increment counter) { code to be executed; }
- init counter : شمارنده ی ابتدای حلقه، یا مقدار دهی اولیه شمارنده که فقط بار اول اجرا و خوانده میشود.
- test counter : نگهدارندهی انتهای حلقه. در هر بار چرخش حلقه ، مقدار شمارنده با این مقدار مقایسه می گردد و اگر True بود حلقه ادامه می یابد در غیر این صورت (False) حلقه پایان مییابد.
- increment counter : افزایندهی شمارندهی حلقه
مثال زیر اعداد بین 0 تا 10 را چاپ می کند.
<?php for ($x = 0; $x <= 10; $x++) { echo "The number is: $x <br>"; } ?>
خروجی دستور بالا :

پیمایش حلقه بالا: حلقه بالا 10 بار اجرا میشود و ما یک بار دستور بالا را Trace (ردیابی کردن) میکنیم تا متوجه شویم چه اتفاقی افتاده است. وارد حلقه for میشویم و مقدار دهی اولیه شمارنده را یعنی X = 0
را میخوانیم، و حال بررسی میشود که آیا X کوچیکتر از 10 میباشد؟ اگر پاسخ مثبت است وارد دستورات میشود و دستور echo "The number is: $x <br>";
را اجرا میکند و مقدار X که صفر است را چاپ میکند یعنی خروجی ما میشود: The number is: 0
سپس افزاینده حلقه اجرا میشود و یک مقدار به X اضافه میکند و X = 1
میشود و حال دوباره شرط بررسی میشود یعنی آیا X کوچیک تر از 10 میباشد؟ و …
توجه داشته باشید که مقدار اولیه شمارنده یعنی X = 0
فقط یک بار و در همان بار اول اجرا و خوانده میشود و دفعات بعدی دیگر مقدار X فرق کرده و از این مقدار اولیه فراخوانی نمیشود.
دستور Foreach
این دستور فقط بر روی آرایه ها اعمال میشود. یعنی به ازای هر عنصر از آرایه قطعه کد شما را اجرا میکند. جهت کسب اطلاعات بیشتر درباره آرایه ها به پست آرایه ها در PHP مراجعه نمایید.
ساختار دستور Foreach
foreach ($array as $value) { code to be executed; }
- array$ : نام آرایه
- value$ : متغیری دلخواه : در هر بار چرخش حلقه عنصر مورد نظر در این متغیر قرار می گیرد و دستورات روی آن اعمال میشود . با هر بار چرخش حلقه، عنصر بعدی در این متغیر جایگزین میشود.
در مثال زیر می خواهیم با استفاده از دستور foreach تمامی مقادیر آرایه را چاپ کنیم .
<?php $colors = array("red", "green", "blue", "yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?>
خروجی دستور بالا :

حلقه foreach بالا فقط 4 بار اجرا میشود چرا که درون آرایه array دارای 4 مقدار میباشد و در هر بار اجرای حلقه مقدار $value
به ترتیب رنگها تغییر میکند مثلا در اجرای حلقه اول $value = red
میباشد.
دوستان عزیز، در این جلسه از آموزش php با موضوعات دستور for و دستور foreach در php نیز به پایان رسید. درصورتی که سوالاتی پیرامون حلقه های for و foreach داشتید حتما در نظرات مطرح کنید. موفق باشید.
منبع مثال ها از w3schools
2 پاسخ
سلام من میخام از حلقه ی foreach برا باز کردن چنتا لینک همزمان استفاده کنم،
مطمعن نیستم این فکرم درست باشه یانه!
مثلا اگه 3 تا فایل داشته باشیم که هرستاشون نیاز به کرون جاب 10 دیقه ای داشته باشن، بجای اینکه روی هرستا فایل کرون جاب ده دیقه ای ست کنیم، لینک ادرس ستا فایلو توی یه ارایه میریزیم و با استفاده از حلقه ی foreach همشونو میریزیم تو متغیر urls و اینجوری عمل میکنیم :
file_get_contents(“$urls”);
و روی فایلی که این کدا توش نوشته شدن یه کرون جاب ده دیقه ای ست میکنیم
لطفا نظر ، پیشنهاد یا راهنماییتونو به ایمیلم ارسال کنین
سلام محمد جان، خب کاری که داری بررسی میکنی درسته. میتونی یه آرایه مشخص کنی و بعدش از foreach استفاده کنی. داخل آرایه اسم فایل ها رو بزاری و از file_get_contents لینک ها رو بگیری.
بعدش حالا میتونی طبق گفته خودت همون کرون جابز رو هم ست کنی که کارت هر ۱۰ دقیقه انجام بشه.
موفق باشی.