PHP

PHP — حلقه foreach (Foreach Loop)

آخرین بروزرسانی: 1404/08/01

حلقه foreach در PHP

حلقه foreach در PHP برای چرخش روی هر عضو آرایه یا ویژگی های یک شیء استفاده می شود. مثل اینکه بخوای همه دوستات توی لیست رو تک تک صدا بزنی.

حلقه foreach روی آرایه ها

معمول ترین استفاده، پیمایش آیتم های یک آرایه (Array) است.

مثال

چرخش روی آرایه رنگ ها:

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $x) {
  echo "$x <br>";
}

در هر تکرار، مقدار عضو فعلی آرایه به $x داده می شود.

کلیدها و مقادیر

آرایه های شاخص (Indexed) شماره گذاری دارند. آرایه های انجمنی (Associative) کلیدهای نام دارند.

مثال

چاپ کلید و مقدار اعضای آرایه:

$members = array("Peter" => "35", "Ben" => "37", "Joe" => "43");

foreach ($members as $x => $y) {
  echo "$x : $y <br>";
}

foreach روی اشیاء (Objects)

می توان با foreach ویژگی های یک شیء را پیمایش کرد.

مثال

چاپ نام و مقدار ویژگی های شیء:

class Car {
  public $color;
  public $model;
  public function __construct($color, $model) {
    $this->color = $color;
    $this->model = $model;
  }
}

$myCar = new Car("red", "Volvo");

foreach ($myCar as $x => $y) {
  echo "$x: $y <br>";
}

break و continue

break: حلقه را متوقف می کند حتی قبل از آخرین عضو.

continue: تکرار فعلی را رد می کند و به بعدی می رود.

foreach با ارجاع (By Reference)

با اضافه کردن & تغییرات روی آرایه اصلی هم اعمال می شود.

مثال

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as &$x) {
  if ($x == "blue") $x = "pink";
}

var_dump($colors);

Alternative Syntax

می توان foreach را با endforeach نوشت:

$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $x) :
  echo "$x <br>";
endforeach;

جمع بندی سریع: 1. foreach روی آرایه و شیء کار می کند. 2. می توان کلید و مقدار را گرفت. 3. break حلقه را متوقف می کند. 4. continue تکرار را رد می کند. 5. & تغییرات را روی آرایه اصلی اعمال می کند.