نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • مشاوره
  • چرخه ها حلقه ها در PHP Foreach در حالی که حلقه های for در PHP

چرخه ها حلقه ها در PHP Foreach در حالی که حلقه های for در PHP

دستور یک حلقه for به صورت زیر است:

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

  1. در ابتدای حلقه، عبارت اولیه اجرا می شود و همیشه در همان ابتدا یک بار ارزیابی می شود (اجرا می شود).
  2. عبارت زیر یک عبارت شرطی است. قبل از شروع هر تکرار، مقدار عبارت شرطی (شرط اجرا) محاسبه می شود، اگر به TRUE برسد، سپس بدنه حلقه اجرا می شود، اگر به FALSE برسد، حلقه به پایان می رسد. اگر شرط در تست اول نادرست باشد، بدنه حلقه حتی یک بار هم اجرا نمی شود.
  3. در نهایت، پس از انجام اعمال در بدنه حلقه، آخرین عبارت (عبارت بعدی بعد از شرط) پردازش می شود. در این مورد، این یک عبارت افزایشی است - مقدار متغیر شمارنده را افزایش می دهد.

یک مثال ساده از یک حلقه for:

در واقع، حلقه for تقریباً جهانی است زیرا امکان استفاده از طیف گسترده ای را فراهم می کند.

برای حلقه بدون قطعات هدر

ممکن است هر یک از عبارات در هدر حلقه for گم شده باشد.

اگر نیازی به مقداردهی اولیه نباشد یا در جای دیگری رخ دهد، یک عبارت اولیه مورد نیاز نیست. بیایید مثال قبلی را کمی بازنویسی کنیم:

لطفاً توجه داشته باشید که نقطه ویرگول لازم است زیرا بیانگر یک عبارت گم شده است. عدم وجود یک عبارت شرط معادل قرار دادن مقدار TRUE در شرط است.

در این حالت، حلقه به طور بی پایان اجرا می شود. اگر هیچ عبارت افزایشی وجود نداشته باشد، باید در بدنه حلقه باشد، در غیر این صورت حلقه به طور بی پایان اجرا می شود.

به خاطر داشته باشید که هر یک یا هر سه عبارت را می توان حذف کرد، اما باید همیشه از نقطه ویرگول (;) استفاده کرد.

چندین عبارت در سر یک حلقه for

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

"; } ?>

اگر شرط اجرا از چند عبارت استفاده کند که با کاما از هم جدا شده اند، همه آنها ارزیابی می شوند، اما نتیجه از آخرین عبارت گرفته می شود.

حلقه های تو در تو

درست مانند دستورات شرطی، حلقه ها را می توان تودرتو کرد. یک مثال ساده با یک سطح تودرتو:

"؛ برای ($j = 0؛ $j< 2; $j++) { echo "Вложенный цикл.
"; } } ?>

بعید است که بتوانید یک اسکریپت جدی در PHP بدون استفاده از حلقه بنویسید. چرخه چیست؟ این نوع خاصی از ساختار کنترلی است که به شما امکان می دهد به طور مکرر (و حتی بی پایان) همان کد را اجرا کنید. حلقه های زیر در PHP پشتیبانی می شوند:

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

برای حلقه

سینتکس حلقه for به صورت زیر است.

For(initialization; شرط; commands_after_itation) (loop_body;)

بلوک مقداردهی اولیه همیشه شمارنده و همچنین سایر متغیرها (در صورت لزوم) را مقداردهی اولیه می کند. بلوک شرط مشخص می کند که در چه نقطه ای حلقه باید متوقف شود. در بلوک دستورات اجرا شده پس از هر بار تکرار حلقه، معمولاً مقدار شمارنده و همچنین سایر متغیرها (در صورت لزوم) تغییر می کند.

// آرایه مقادیر $array = آرایه("سیب"، "سیب زمینی"، "هندوانه"، "گل"، "آب"، "جیوه"، "اکسیژن"، "گندم"، "روسیه"، "مسکو" "، " دوش")؛ // شرط حلقه به این صورت است: تا زمانی که شمارنده به مقداری برابر با تعداد // عناصر آرایه برسد، بدنه حلقه برای ($i = 0; $i) اجرا می شود.< count($array); $i++) { print "
".($i + 1)". ".$array[$i]." /* نتیجه چرخه به این صورت خواهد بود: 1. سیب زمینی 4. گل اکسیژن 8. گندم 10. مسکو.

از آنجایی که شمارنده $i از صفر شروع می شود، در هر تکرار یک عدد به مقدار آن اضافه می کنیم تا لیست آشناتر به نظر برسد. پس از هر بار تکرار، مقدار شمارنده یک افزایش می یابد و زمانی که به 11 رسید، حلقه متوقف می شود. حالا بیایید نگاهی به حلقه do-while بیندازیم.

حلقه do-while

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

Do (loop_body; ) while(condition);

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

// از قبل برای ما آشنا است array $array = array("سیب"، "سیب زمینی"، "هندوانه"، "گل"، "آب"، "جیوه"، "اکسیژن"، "گندم"، "روسیه"، "مسکو" " ، "باران")؛ // شروع حلقه $i = 1; انجام (چاپ"
".$i." ".$array[($i - 1)]." ) while($i++< count($array)); /* Результат работы цикла будет таким: 1. Яблоко. 2. Картошка. 3. Арбуз. 4. Цветок. 5. Вода. 6. Ртуть. 7. Кислород. 8. Пшеница. 9. Россия. 10. Москва. 11. Ливень. */

به تفاوت بین آنچه در این حلقه چاپ می کنیم و حلقه for توجه کنید. از آنجایی که کد موجود در بدنه حلقه do-while حداقل یک بار اجرا می شود، مقدار اولیه شمارنده صفر شد. چگونه یک حلقه کار می کند ... کد اجرا می شود، سپس یک شرط تست می شود. در اولین تکرار، شمارنده مقدار 1 داشت. پس از تکرار، یکی کمتر از 11 (تعداد عناصر) بود. در آخرین تکرار، شمارنده مقدار 11 داشت و این به هیچ وجه کمتر از 11 نیست. حلقه متوقف شد. حلقه while بسیار شبیه به do-while است.

حلقه while

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

while(شرط) (loop_body;)

همراه با حلقه for، حلقه while اغلب استفاده می شود.

$array = array("سیب"، "سیب زمینی"، "هندوانه"، "گل"، "آب"، "جیوه"، "اکسیژن"، "گندم"، "روسیه"، "مسکو"، "باران"); $i = 1; while($i++<= count($array)) { print "
".$i.". ".$array[($i - 1)]."; ) /* نتیجه حلقه به صورت زیر خواهد بود: 1. سیب. 2. سیب زمینی. 3. هندوانه. 4. گل. 5. آب. 6. جیوه 7. اکسیژن 9. باران.

حلقه while برای توسعه دهندگان مبتدی ساده ترین و قابل فهم ترین حلقه است.

حلقه foreach

حلقه foreach مانند همه موارد بالا نیست. در PHP4 ظاهر شد و برای تکرار روی آرایه ها طراحی شده است. توسعه دهنده برای این کار نیازی به اختراع چیزی ندارد. همه چیز آسان و ساده است:

/** * حلقه foreach باید به عنوان "برای هر یک" درک شود. * آرایه پردازش شده توسط حلقه به متغیری ارسال می شود که * فقط در داخل بدنه حلقه قابل دسترسی است. در صورت تمایل، می توانید به کلیدهای آرایه * نیز دسترسی داشته باشید. */ foreach(آرایه به عنوان عنصر_آرایه) (loop_body; ) foreach(آرایه به عنوان آرایه_کلید => عنصر_آرایه) (بدن_حلقه؛)

اصل حلقه foreach با حلقه‌های for، while و do-while کاملاً متفاوت است. بنابراین، برای توسعه دهندگان بی تجربه بسیار دشوار است که بفهمند دقیقاً چه کاری می توان (و حتی باید) با آن انجام داد.

// بیایید آرایه ای را که قبلاً می شناسیم تغییر دهیم. بیایید آن را انجمنی کنیم. $array = array("سیب" => "میوه"، "سیب زمینی" => "سبزیجات"، "هندوانه" => "توت"، "گل" => "گیاه"، "آب" => "مایع"، "جیوه" => "فلز"، "اکسیژن" => "گاز"، "گندم" => "نان"، "روسیه" => "میهن ما"، "مسکو" => "پایتخت میهن ما"، "باران " => "popados"); $i = 1; // ما می توانیم این کار را foreach انجام دهیم ($array به عنوان $v) (print "
".$i.". ".$v."; $i++; ) /* این نتیجه غیرمنتظره را دریافت می کنیم: 1. میوه. 2. سبزی. 3. توت. 4. گیاه. 5. مایع. 6. فلز. 7. گاز. 8 9. سرزمین مادری ما .
".$i.". ".$k." $i++ است. 1. سیب زمینی یک میوه است یک گیاه 6. جیوه یک گاز است. 10. مسکو.

آیا می دانید این چرخه چگونه کار می کند؟ اگر نه، می توانید یک سوال در نظرات به مطالب مطرح کنید.

می توانید از ساختارها در هر حلقه ای استفاده کنید زنگ تفريحیا ادامه هید. گاهی اوقات ادامه دادن حلقه منطقی نیست یا باید به تکرار بعدی بروید.

$array = array("سیب" => "میوه"، "سیب زمینی" => "سبزیجات"، "هندوانه" => "توت"، "گل" => "گیاه"، "آب" => "مایع"، "جیوه" => "فلز"، "اکسیژن" => "گاز"، "گندم" => "نان"، "روسیه" => "میهن ما"، "مسکو" => "پایتخت میهن ما"، "باران " => "popados"); $i = 1; // مثالی از نحوه کار یک حلقه با ساختار continue foreach($array as $k => $v) ( if($k != "Oxygen") continue; print "
".$i.". ".$k." $i++ است. 1. Oxygen یک گاز است آرایه به صورت $k = > $v) ( if($k == "Oxygen") break; print "
".$i.". ".$k." $i++ است. 5. آب یک مایع است 6. جیوه یک فلز است.

یادداشت:نسخه تطبیقی ​​سایت فعال می شود که به طور خودکار با اندازه کوچک مرورگر شما سازگار می شود و برخی از جزئیات سایت را برای سهولت در خواندن پنهان می کند. از تماشاکردن لذت ببرید!

سلام به خوانندگان عزیز و مشترکین همیشگی! وقت آن است که سری مقالات در مورد PHP را ادامه دهیم و امروز به مطالعه یک مورد اساسی و در عین حال بسیار مهم به عنوان حلقه ها خواهیم پرداخت. اولین چیزی که باید در مورد چرخه ها بدانید چیست؟ و این واقعیت که آنها در همه جا استفاده می شوند، و قالب های جوملا، VirtueMart، Wordpress، OpenCart و هر CMS دیگری از این قاعده مستثنی نیستند.

سیکل چیست؟ چرخهتکرار مکرر همان قطعه کد است. تعداد تکرارهایی که باید انجام شوند به شمارنده چرخه بستگی دارد که خود ما ایجاد می کنیم و می توانیم کنترل کنیم. این بسیار راحت است، به عنوان مثال، زمانی که ما نیاز به نمایش محصولات در یک دسته فروشگاه آنلاین داریم، نمایش پست های وبلاگ، نمایش نظرات در مورد یک مقاله یا محصول، تمام منوها در CMS (موتورهای وب سایت) نیز با استفاده از چرخه ها ساخته می شوند. به طور کلی، حلقه ها اغلب استفاده می شوند.

اما قبل از رفتن به خود حلقه ها، ابتدا باید چیزی به عنوان عملگرها را درک کنید افزایشو کاهش.

عملگر ++ (افزایش) مقدار یک متغیر را یک برابر افزایش می دهد، در حالی که عملگر -- (کاهش) مقدار یک متغیر را یک عدد کاهش می دهد. استفاده از آنها در حلقه ها به عنوان شمارنده و به طور کلی در برنامه نویسی بسیار راحت است. افزایش/کاهش PRE و افزایش/کاهش POST نیز وجود دارد:

PRE increment/decrement ++$a $a را یک به یک افزایش می دهد و مقدار $a را برمی گرداند. --$a $a را یکی کاهش می دهد و مقدار $a را برمی گرداند. POST increment/decrement $a++ مقدار $a را برمی گرداند و سپس $a را یک به یک افزایش می دهد. $a-- مقدار $a را برمی گرداند و سپس $a را یک به یک کاهش می دهد.

مثلا:

$a = 1; echo "شماره خروجی:" . $a++; // خروجی عدد: 1 echo "خروجی عدد: " . $a; // خروجی عدد: 2 echo "خروجی عدد: $a"; $a += 1; // مانند خط اول$a = 1; echo "شماره خروجی:" . +$a; // خروجی عدد: 2 echo "خروجی عدد: " . $a; // خروجی عدد: 2 $a += 1; echo "شماره خروجی: $a"; // مانند خط اول این بلوک

برای حلقه

برای (قسمت الف؛ قسمت ب؛ قسمت ج)( // هر کد، به تعداد خطی که دوست دارید؛ )

حلقه for از 3 قسمت و خود بدنه تشکیل شده است. قسمت Aفقط کاری را که می گوید انجام می دهد، معمولاً در 90٪ موارد یک شمارنده حلقه ایجاد می کند. قسمت B- این تقریباً برای ما آشناست اگر، یعنی بررسی حقیقت (درست است؟). اگر شرط درست باشد، یعنی درست است، واقعی، سپس PHP داخل حلقه می رود و به اجرای آن ادامه می دهد. قسمت C- مانند قسمت A، به عنوان یک قاعده، در قسمت C نوعی تبدیل با شمارنده انجام می دهیم. مثلا:

"; ) echo "از حلقه خارج شد و از طریق کد حرکت کرد..."؛ ?>

حالا در مورد الگوریتم حلقه for. اولین چیزی که PHP می بیند این است که به قسمت A می رود و فقط یک بار آن را اجرا می کند (تصویر زیر را ببینید). بعد، PHP به قسمت B می رود و درست یا نادرست بودن آن را بررسی می کند. اگر درست باشد، بدنه حلقه را اجرا می کند و تنها پس از آن به قسمت C منتقل می شود. پس از این، PHP دوباره به قسمت B می رود و بررسی می کند که آیا هنوز در آنجا درست است یا خیر. اگر نه، حلقه به پایان می رسد، اگر بله، آنقدر ادامه می یابد تا قسمت B حاوی false باشد.

نتیجه مثال قبلی:

در حالی که حلقه

در حالی که (قسمت B)( // هر کد، به تعداد خطی که دوست دارید؛ )

همانطور که می بینید، قسمت A و C وجود ندارد، از حلقه for فقط یک شرط باقی می ماند، یعنی قسمت B. اگر نیاز به استفاده از شمارنده داریم، باید آن را در داخل حلقه while قرار دهیم، در بین بقیه کد، این قسمت C خواهد بود. A ایجاد شمارنده قبل از شروع ساخت while مورد نیاز است:

قسمت A; while (بخش B)( // هر کد، به تعداد خطوط دلخواه؛ قسمت C؛ )

بیایید حلقه for قبلی را به حلقه while تبدیل کنیم:

"; $i++; ) echo "از حلقه خارج شد و از طریق کد حرکت کرد..."؛ ?>

نتیجه دقیقاً یکسان خواهد بود. چه استفاده ای: حلقه for یا حلقه while سلیقه ای است، ببینید چه چیزی برای شما راحت تر و منطقی تر است، تفاوتی ندارد.

انجام... حلقه while

در همه انواع چرخه کمتر رایج است. اساسا این یک در حالی که معکوس است. ترفندش اینه که حتما PHP حداقل یکبار (بار اول) وارد بدنه do... while میشه چون تو این حلقه یه شرط آخرش هست:

قسمت A; do( // هر کد، به تعداد خطوطی که دوست دارید؛ قسمت C; )while(Part B);

"; $i++; )در حالی که($i< 8); echo "ВЫШЛИ ИЗ ЦИКЛА и пошли дальше по коду..."; ?>

درک این نکته مهم است: در هر سه نوع چرخه هیچ بخش اجباری وجود ندارد.

مثالی از یک حلقه for بدون قسمت A و قسمت C:

برای (;$i > 8;)( // کد شما )

مثالی از یک حلقه for بدون هر سه قسمت:

برای(;;)( // حلقه بی پایان کلاسیک)

یعنی تمام نیم ویرگول ها همچنان در حلقه for باقی می مانند، نحو این است!

حلقه های بی نهایت

یک حلقه بی نهایت یک خطای توسعه دهنده است که در آن صفحه هرگز نمی تواند تا انتها بارگیری شود، زیرا شرط حلقه (قسمت B) همیشه درست خواهد بود. مثلا:

"; $i++; )while($i != 0); echo "از حلقه خارج شد و از طریق کد ادامه داد..."؛ ?>

نتیجه:

من فقط بخشی از این را نشان دادم، زیرا همه چیز روی صفحه نمایش جا نمی شود. اینگونه است که مرورگر شما و سرور سایت شما بی انتها آسیب خواهند دید تا زمانی که مرورگر پس از 30 ثانیه از کار بیفتد و همه اینها به این دلیل است که در مثال بالا، متغیر $i هرگز برابر با صفر نخواهد بود، در ابتدا برابر با 1 است و دائماً است. افزایش می یابد.

یعنی توسعه دهنده وقتی چنین شرایطی را مطرح کرد بی توجه بود.

مدیریت چرخه

شکست اپراتور.شرایطی وجود دارد که برای اجرای تمام تکرارها (تکرارها) به حلقه نیاز نداریم. به عنوان مثال، در یک لحظه خاص می خواهیم آن را قطع کرده و با کد زیر به اجرا ادامه دهیم:

"; if ($i === 5) break; // از حلقه خارج شوید اگر $i برابر با 5 $i++ است؛ ) echo "من فقط می توانم تا 5 بشمارم:("; ?>

نتیجه:

در مثال بالا، به محض اینکه به پنج رسیدیم، PHP از حلقه خارج شد، در غیر این صورت تا 7 شمارش می شد.

اپراتور را ادامه دهیدهمچنین اجرای حلقه را قطع می کند، اما برخلاف break، continue از حلقه خارج نمی شود، بلکه مفسر PHP را به شرط (به قسمت B) برمی گرداند. مثال:

"; ) echo "آیا چیزی را از دست دادم؟"؛ ?>

نتیجه:

ما فقط عدد 5 را از دست دادیم زیرا PHP به اکو نمی رسید.

یک حلقه را می توان در یک حلقه تودرتو کرد. در این حالت، دستورهای continue و break فقط برای یک حلقه اعمال می‌شوند، حلقه‌ای که در آن قرار دارند. یعنی به یک سطح منتقل می شوند و نه در همه. مثال:

اما ما خودمان می توانیم انتخاب کنیم که از چند سطح باید بپریم:

"؛ $i++؛ $i=1؛ $k=1؛ در حالی که ($k< 8) { echo "Итерация $k номер ". $k . "
"؛ اگر ($k === 5) شکستن 2؛ $k++; ) ) ?>

نتیجه:

طبیعتاً نمی‌توانیم عددی بیشتر از تعداد حلقه‌های تودرتویی که داریم تعیین کنیم.

حلقه foreach

آخرین مرتبه، اما از نظر اهمیت، حلقه foreach است. استفاده شده فقطبرای شمارش و اشیا (برای آموزش آنها خیلی زود است). نحو مثال:

"; } ?>

نتیجه:

این یک ساختار کوتاه بود، اما یک نسخه توسعه یافته نیز دارد که علاوه بر مقادیر سلول های آرایه، نام سلول ها (کلیدها) را نیز نمایش می دهد:

$value) (echo "در بخش ". $key."مقاله ای هست به نام: ". $value ."
"; } ?>

نتیجه:

توجه شما را به این نکته جلب می‌کنم که می‌توانیم متغیرها را هر چه می‌خواهیم، ​​حتی $key و $value، حتی $xxx و $yyy صدا کنیم.

اگر یک آرایه باشد، ما فقط از حلقه foreach استفاده می کنیم و از حلقه های دیگر استفاده نمی کنیم. این چرخه است که در سرتاسر VirtueMart و در واقع در همه جا استفاده می شود.

من این مقاله را برای مبتدیانی می نویسم که تازه شروع به مطالعه کرده اند PHP. در این مقاله در مورد انواع آن به شما خواهم گفت حلقه ها در PHP، از آنجایی که این مقاله در وب سایت من نبود. فقط وجود داشت، اما، با وجود شباهت کلی، هنوز یکسان نیست. که در PHPوجود دارد 4 نوع چرخه.

  1. در حالی که
  2. انجام در حالی که
  3. برای هر

بیایید به ترتیب به آنها نگاه کنیم و با محبوب ترین شروع کنیم. حلقه در PHP(و نه تنها در PHP) - این حلقه FOR. سینتکس این حلقه به شرح زیر است:

برای(Expression_1; Expression_2; Expression_3) (
اپراتورها
}

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

نوع بعدی حلقه است در حالی که. این یک نوع ساده‌تر از حلقه‌ها است که نحو آن به شرح زیر است:

در حالی که (بیان) (
اپراتورها
}

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

حلقه DO-WHILEبسیار شبیه به در حالی که، اما با یک تفاوت شرایط خروج پس از اجرای تکرار بررسی می شود، نه قبل از آن. بنابراین، این حلقه همیشه حداقل اجرا خواهد شد 1 یک بار. و همینطور نحو حلقه DO-WHILE:

انجام دادن(
اپراتورها
)در حالی که (شرط)؛

و در نهایت، آخرین نوع چرخه است برای هر، که خدمت می کند فقط برای تکرار روی آرایه ها و اشیا. زمانی ضروری است که کلیدهای آرایه اعداد نباشند (که به راحتی از طریق همان کلیدها قابل تکرار هستند. برای) و رشته ها. نحو حلقه FOREACHبعد:

Foreach($array_or_object به عنوان $key => $value) (
اپراتورها
}

و در نهایت، بیایید همه چیز را اعمال کنیم 4 نوع حلقه در PHP برای حلقه زدن از طریق آرایه ها:

لیست $ = آرایه (5، 2، 3، 10، 12، 10);
$array = array("a" => 1, "x" => 10, "m" => -5);
برای ($i = 0؛ $i< count($list); $i++) {
echo $list[$i].";
}
پژواک"
";
$i = 0;
در حالی که ($i< count($list)) {
echo $list[$i].";
$i++;
}
پژواک"
";
$i = 0;
انجام دادن (
echo $list[$i].";
$i++;
)در حالی که ($i< count($list));
پژواک"
";
foreach ($array به عنوان $key => $value) (
echo "$key = $value; ";
}
?>

هر برنامه نویسی باید تمام این حلقه ها را از روی قلب بداند، بنابراین اگر چیزی نامشخص است، آن را دوباره بخوانید یا در نظرات سؤالی بپرسید و من سعی می کنم پاسخ دهم.

عبارات حلقه اغلب در هر زبان برنامه نویسی استفاده می شود. تقریباً در همه مشکلات از حلقه ها استفاده می شود، بنابراین ارزش توجه ویژه ای به یادگیری آنها دارد. 4 نوع حلقه در PHP وجود دارد:

  • while (بررسی شرط پیشوند)؛
  • do..while (بررسی شرط postperfix);
  • برای ؛
  • برای هر ؛

سه حلقه اول مشابه حلقه های استاندارد زبان های برنامه نویسی (C++، Pascal) و آخرین (foreach) مشابه Perl است. بیایید به سه عملگر حلقه اول به طور جداگانه نگاه کنیم و آخرین مورد در یک درس جداگانه پوشش داده خواهد شد. توجه داشته باشید که هر یک از حلقه ها به حلقه های تو در تو اجازه می دهد، یعنی یک حلقه در یک حلقه.

بیانیه حلقه while در PHP

یک عملگر حلقه نسبتاً ساده که نحو آن بسیار شبیه به زبان های برنامه نویسی دیگر است.

در حالی که نحو در PHP:

//ممکن است یک شرط منطقی پیچیده وجود داشته باشد(اپراتورها؛) ?>

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

توجه داشته باشید: شرط می تواند از عبارات بسیاری با استفاده از جبر منطق &&, ||, ! و غیره.

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

در اینجا یک مثال ساده از استفاده از while آورده شده است:

"; $i++; ) ?>

مثال بالا خروجی زیر را تولید خواهد کرد:

i = 0
i=1
i=2
i = 3
i=4

لطفاً توجه داشته باشید که $i=5 چاپ نخواهد شد زیرا i در انتهای حلقه افزایش می یابد و بنابراین به محض اینکه به عدد 5 رسید، شرط ورود به حلقه به سادگی برآورده نمی شود.

عبارت break در PHP

یک عبارت break ویژه برای خاتمه سریع حلقه وجود دارد. این عملگر اغلب برای خروج از یک حلقه بی نهایت زمانی که شرط همیشه درست است استفاده می شود. به عنوان مثال، مثالی که در بالا توضیح داده شد را می توان به صورت زیر نوشت:

//شرط همیشه درست است( پژواک "i =".$i."
"; $i++; if($i>=5) break; ) ?>

نتیجه مانند مثال قبلی خواهد بود.

عبارت ادامه در PHP

اپراتور ادامه تکرار فعلی حلقه را با حرکت به ابتدا خاتمه می دهد، اما حلقه را به طور کامل متوقف نمی کند. مثلا:

//شرط همیشه درست است( پژواک "i =".$i."
"; $i++; if($i>=5) break; else continue; ) ?>

نتیجه این مثال مانند نمونه های قبلی خواهد بود.

همانطور که تمرین نشان می دهد، اپراتورها ادامه می دهند. و شکستن؛ اغلب به پیاده سازی چرخه های پیچیده کمک می کند.

اجازه دهید مثال دیگری از استفاده از حلقه while برای شما بیاورم:

"; } //نتایج این دو زمان متفاوت خواهد بود //به دلیل شکل پسوند و پیشوند$i=0; while (++$i //فرم پیشوند ( echo "i =".$i."
"; } ?>

Do...while عبارت حلقه در PHP

دستور do...while بسیار شبیه به دستور while معمولی است. تنها تفاوت در زمان بررسی وضعیت است. حلقه do...while حداقل یک بار اجرا می شود، زیرا بررسی در انتهای آن انجام می شود. دستور do...while به صورت زیر است:

بیایید به یک مثال نگاه کنیم:

"; $i++; ) while($i

نتیجه آن مشابه اولین نمونه های در نظر گرفته شده است.

شایان ذکر است که اپراتورهای ادامه و شکستن؛ همچنین می تواند در چنین چرخه هایی استفاده شود.

برای عملگر حلقه در PHP

نحو دستور for به صورت زیر است:

در شروع، مقداردهی اولیه متغیرها اتفاق می افتد. Usloviya باید دارای یک یا چند شرط پایان حلقه باشد. Shag حاوی دستوراتی است که در پایان هر تکرار اجرا می شوند. مثلا:

"; } ?>

نتیجه این حلقه مانند نمونه های قبلی خواهد بود.

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

", $i++); ?>

اظهار نظر: عملکرد اکو در shag مجاز نیست.

مرحله چرخه و شرایط می تواند بسیار متنوع باشد. به عنوان مثال، می توانید نه i++، بلکه i+=5 (افزایش 5) بنویسید.

هر بخش از حلقه for را می توان حذف کرد، در این صورت نتیجه یک حلقه بی نهایت است:

برای اجازه استفاده از ادامه را می دهد. و شکستن؛ .

در نهایت، در اینجا یک مثال از دو ساختار حلقه معادل است، اما یکی برای، و دیگری while خواهد بود

معادل موارد زیر:

بهترین مقالات در این زمینه