حلقه foreach درPHP

مخصوص کار با آرایه ها می باشد.

نحوه استفاده:

foreach ($array as $value)
  {
  code to be executed;
  }

این دستور تمام مقادیر آرایه را یکی یکی از ابتدایی تا انتهایی به درون value می ریزد و دستورات را اجرا می نماید.

نکته: مقدار value کپی داده می باشد و با تغییر آن داده اصلی در آرایه تغییری نمی کند، اما با قرار دادن علامت "&" در ابتدای value یک نشانگر از آن برگردانده می شود، بدین معنا که با تغییر آن داده اصلی درون آرایه نیز تغییر می کند.

مثال1: مثال زیر یک حلقه را نشان می دهد که مقادیر گرفته شده از یک آرایه را چاپ می کند.

<html>
<body>

<?php
$x=array("one","two","three");
foreach ($x as $value)
  {
  echo $value . "<br />";
  }
?>

</body>
</html>

خروجی کد بالا:

one
two
three

مثال2: با قرار دادن علامت "&" در ابتدای value اگر در حلقه این مقدار تغییر کند، داده اصلی نیز تغییر می کند.

<html>
<body>

<?php
$arr=array(1,2,3,4);
foreach($arr as &$value)
{
  echo $value;
  echo " ";
  $value *= 2;
}
echo "<br />";
foreach($arr as $value)
{
  echo $value;
  echo " ";
} 
?>

</body>
</html>

خروجی کد بالا:

1 2 3 4
2 4 6 6

مثال3: چاپ کلید و مقدار آن (key and value)

<html>
<body>

<?php
$a = array(
    "one" => 1,
    "two" => 2,
    "three" => 3,
    "seventeen" => 17
);

foreach ($a as $k => $v) {
    echo "a[$k] => $v"."<br />";
}
 
?>

</body>
</html>

خروجی کد بالا:

a[one] => 1
a[two] => 2
a[three] => 3
a[seventeen] => 17

مثال4: چاپ کلید و مقدار آن (key and value) در یک آرایه دو بعدی

<html>
<body>

$families = array("Ahmadi"=>array("a"=>"Ali","b"=>"Reza","c"=>"Sara"),
                  "Naderi"=>array("a"=>"Amir"),
                  "Mohamadi"=>array("a"=>"Poya","b"=>"Parniya")
                 );
foreach ($families as $k => $v) 
    foreach ($v as $b=>$v) 
    echo "families[$k][$b] => $v "."<br />";

</body>
</html>

خروجی کد بالا:

families[Ahmadi][a] => Ali 
families[Ahmadi][b] => Reza 
families[Ahmadi][c] => Sara 
families[Naderi][a] => Amir 
families[Mohamadi][a] => Poya 
families[Mohamadi][b] => Parniya


آموزش های مرتبط

آموزش PHP-حلقه for