حلقه foreach درPHP

این تاپیک 0 پاسخ و 1 مشارکت کننده دارد . آخرین آپدیت توسط :  صبا ...saba ،‏ 7 ماه و 4 هفته پیش .

این تاپیک تاکنون 136 بازدید داشته است .

نویسنده پست
جمعه ، 15 آوریل 2016     10:04 ق.ظ #


صبا ...saba

Subscriber
0 پست669 تاپیک

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

نحوه استفاده:
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

0  تشکر
پست 1 تا 1 (از مجموع 1 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .