foreach در PHP
حلقه foreach از طریق یک بلوک کد برای هر عنصر در آرایه حلقه می سازد.
foreach بر روی آرایه ها
رایج ترین استفاده از حلقه های foreach در php، حلقه زدن از طریق آیتم های یک آرایه است.
$Flowers = array("rose", "sunflower", "Tulip", "Lily");
foreach ($Flowers as $y) {
echo "$y <br>";
}
نکته: با هربار تکرار حلقه ،مقدار عنصر آرایه فعلی به y$ اختصاص می یابد و به ترتیب بازگردانده می شود. تکرار تا رسیدن به اخرین عنصر آرایه ادامه می یابد.
کلیدها و مقادیر
به مثال بالا توجه کنید، آرایه بالا یک آرایه نمایه می باشد که در آن ایتم اول دارای کلید 0، آیتم دوم دارای کلید 1 و... است.
در حلقه foreach زمانی که به اندیس ها و کلید ها در ارایه نیاز باشد از index و کلید برای خانه های آرایه استفاده می شود که در php به آن آرایه مشارکتی (associative) می گویند.
نکته: ارایه های انجمنی از کلیدهای نام گذاری شده ای استفاده می کنند که شما به آنها اختصاص می دهید و هنگام حلقه زدن از طریق این آرایه ها ممکن است بخواهید کلید و مقدار آرایه را حفظ کنید.
$Months = array("January"=>"3", "April"=>"18", "July"=>"28");
foreach ($Months as $x => $y) {
echo "$x : $y <br>";
}
foreach بر روی اشیاء
حلقه foreach برای حلقه زدن می تواند از خصوصیات یک شئ (Object) استفاده کند.
class Flower {
public $color;
public $name;
public function __construct($color, $name) {
$this->color = $color;
$this->name = $name;
}
}
$myFlower = new Flower("White", "Rose");
foreach ($myFlower as $x => $y) {
echo "$x: $y <br>";
}