آموزش PHP / ساختارهای حلقه ای for ساختارهای حلقه ای for و foreach : 1 ) حلقه for : این حلقه دستورات خود را به تعداد دفعات تعیین شده برای آن و یا تا زمانی که شرط آن درست باشد تکرار و اجرا میکند. برای مثال شما میخواهید دستور معینی به تعداد 10 بار تکرار شود در این حالت باید دستور خود را در یک حلقه for قرار دهید . شکل کلی تعریف و استفاده از این حلقه بصورت زیر است : [TABLE="class: ex"] [TR] [TD="class: prname, align: center"] Syntax [/TD] [TD="class: prdes, align: center"] for ( init ; condition ; incresment ) { کدها و دستوراتی که می خواهید در حلقه تکرار شوند ; } مثال : < ?php for ( $i = 1 ; $i <= 5 ; $i++ ) { echo "The number is " . $i . "< br/ >" } ?> [/TD] [/TR] [/TABLE] [TABLE="class: ex"] [TR] [TD="class: header, colspan: 2, align: center"] syntax توضیح هر یک از موارد [/TD] [/TR] [TR] [TD="class: body, align: center"] توضیح [/TD] [TD="class: header, align: center"] پارامتر [/TD] [/TR] [TR] [TD="class: body, align: center"] این پارامتر میتواند یک متغیر باشد که به عنوان اغازکر شمارنده حلقه تعیین شود. همچنین میتواند یک کد یا دستور باشد که یکبار در ابتدا حلقه اجرا خواهد شد. [/TD] [TD="class: header, align: center"] init [/TD] [/TR] [TR] [TD="class: body, align: center"] این پارامتر میتواند یک متغیر باشد که به عنوان اغازکر شمارنده حلقه تعیین شود. همچنین میتواند یک کد یا دستور باشد که یکبار در ابتدا حلقه اجرا خواهد شد. [/TD] [TD="class: header, align: center"] Init [/TD] [/TR] [TR] [TD="class: body, align: center"] تعیین کننده شرط یا شروط لازم برای ادامه کار حلقه است.تا زمانی که این شرط یا شروط درست باشند حلقه به کار خود ادامه داده و دستورات را تکرار میکند. [/TD] [TD="class: header, align: center"] Condition [/TD] [/TR] [TR] [TD="class: body, align: center"] این پارامتر میتواند یک دستور باشد که در هربار اجرای حلقه مقدار متغیر شمارنده حلقه را افزایش یا کاهش دهد.همچنین میتواند دستوری باشد که یکبار در انتهای کار حلقه اجرا شود . [/TD] [TD="class: header, align: center"] Increment [/TD] [/TR] [/TABLE] مثال : در مثال زیر یک حلقه ساده را تعریف کرده ایم . شمارنده حلقه از 1 شروع شده و به ازای هر عدد یکبار حلقه اجرا شده و مقدار عدد شمارنده یک واحد افزایش می یابد . روند اجرای حلقه تا زمانی که عدد شمارنده به 5 برسد ادامه داشته و سپس متوقف می شود : [TABLE="class: ex"] [TR] [TD="class: header, colspan: 2, align: center"] Example [/TD] [/TR] [TR] [TD="class: body, align: center"] < ? php for ( $i=1 ; $i <= 5 ; $i++ ) { echo "The number is " . $i . "<br>"; } ? > [/TD] [TD="class: header, align: center"] کد [/TD] [/TR] [TR] [TD="class: body, align: center"] The number is 1 The number is 2 The number is 3 The number is 4 The number is 5 [/TD] [TD="class: header, align: center"] خروجی [/TD] [/TR] [/TABLE] 2 ) حلقه foreach : این حلقه برای حرکت درون آرایه ها و تکرار دستورات مورد نظر بر اساس اعضای آرایه استفاده میشود. شکل کلی تعریف و استفاده از این حلقه بصورت زیر است : [TABLE="class: ex"] [TR] [TD="class: prname, align: center"] Syntax [/TD] [TD="class: prdes, align: center"] foreach ( $array as $value ) { کدها و دستوراتی که می خواهید به ازای هر عضو آرایه تکرار شوند ; } مثال : < ?php foreach ( $x as $value ) { echo &value . "< br/ >" ; } ?> [/TD] [/TR] [/TABLE] نحوه کار حلقه foreach : به ازای هربار اجرای حلقه مقدار عنصرجاری آرایه به متغیر value داده شده و اندیس آرایه یک واحد به جلو حرکت میکند.این روند تا زمانی ادامه دارد که به انتهای آرایه برسیم.سپس اجرای حلقه متوقف میشود. در کد مثال ، array$ نام آرایه مورد نظر و value$ ، پارامتر دریافت مقدار عضو جاری آرایه است . مثال : در مثال زیر یک آرایه 3 عضوی به نام x$ تعریف کرده ایم . سپس آن را در یک حلقه foreach قرار داده و مقدار اعضای آرایه را به ترتیب در خروجی نمایش داده ایم : [TABLE="class: ex"] [TR] [TD="class: header, colspan: 2, align: center"] Example [/TD] [/TR] [TR] [TD="class: body, align: center"] < ? php $x = array ("one","two","three") ; foreach ( $x as $value ) { echo $value . "< br >"; } ? > [/TD] [TD="class: header, align: center"] کد [/TD] [/TR] [TR] [TD="class: body, align: center"] one two three [/TD] [TD="class: header, align: center"] خروجی [/TD] [/TR] [/TABLE] [HR][/HR]منبع: developer1