foreach در PHP
حلقه foreach از طریق یک بلوک کد برای هر عنصر در یک آرایه یا شئ حلقه می سازد.
foreach ($array as $value) {
// کدی که باید اجرا شود
}
نکته: سرعت اجرای حلقه foreach نسبت به سایر حلقه ها در PHP، بیشتر است.
foreach بر روی آرایه ها در PHP
رایج ترین استفاده از حلقه های foreach در php، حلقه زدن از طریق آیتم های یک آرایه است.
$Flowers = array("rose", "sunflower", "Tulip", "Lily");
foreach ($Flowers as $y) {
echo "$y <br>";
}
آرایه associative حلقه foreach در PHP
در حلقه foreach زمانی که به اندیس ها و کلید ها در ارایه نیاز باشد از index و کلید برای خانه های آرایه استفاده می شود که به آن آرایه مشارکتی (associative) می گویند.
نکته: ارایه های انجمنی از کلیدهای نام گذاری شده ای استفاده می کنند که شما به آنها اختصاص می دهید و هنگام حلقه زدن از طریق این آرایه ها ممکن است بخواهید کلید و مقدار آرایه را حفظ کنید.
$Months = array("January"=>"3", "April"=>"18", "July"=>"28");
foreach ($Months as $x => $y) {
echo "$x : $y <br>";
}
حلقه foreach به صورت آرایه های تودرتو در PHP
یک حلقه درون حلقه دیگر را با عنوان حلقه تو در تو می شناسیم. از حلقه foreach می توانید برای ارائه ی آرایه های تو در تو استفاده کنید.
آرایه های تو در تو (چند بعدی) در ساختار داده های دریافتی Apl، داده های تو در تو پایگاه داده و... مورد استفاده قرار می گیرد.
$drinks = array(
"cold" => array("milk", "water"),
"hot" => array("coffee", "tea"),
);
foreach ($drinks as $x => $y) {
echo "$x : $y <br>";
foreach ($y as $drink) {
echo "- $drink <br>";
}
}
حلقه foreach بر روی اشیاء در PHP
در حلقه 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>";
}
شکستن (Break) حلقه foreach در PHP
دستور break برای پرش از حلقه foreach مورد استفاده قرار می گیرد.
$cars = array("Benz", "BMW" , "Porsche");
foreach ($cars as $p) {
if ($p == "BMW") break;
echo "$p <br>";
}
نکته: برای اطلاعات بیشتر به آموزش دستور شکستن (break) در PHP مراجعه کنید.
ادامه دادن (Continue) حلقه foreach در PHP
دستور continue تکرار حلقه فعلی را در حلقه foreach متوقف می کند و با حلقه بعدی ادامه می دهد.
$cars = array("Benz", "BMW", "Porsche");
foreach ($cars as $p) {
if ($p == "BMW") continue;
echo "$p <br>";
}
نکته: برای اطلاعات بیشتر به آموزش دستور ادامه دادن (continue) در PHP مراجعه کنید.
خلاصه درس
در این درس با مباحث زیر آشنا شدید:
- حلقه foreach در PHP
- آرایه ها در حلقه foreach
- آرایه Associative در حلقه foreach
- حلقه foreach به صورت تو در تو
- حلقه foreach بر روی اشیاء
- شکستن(break) و ادامه دادن (Continue) در حلقه foreach