shams 14 شهریور 1394 بدون نظر 118 بازدید آموزش php

از حلقه for زمانی که تعداد دفعات اجرای دستورات را بدانید استفاده می شود یعنی دستورات داخل حلقه از یک عدد مشخص به تعدادی مشخص تکرار می شود.

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


for (init; condition; increment)
  {
  code to be executed;
  }

پارامترها:

  • init: تنها یکبار در ابتدای حلقه اجرا می شود، و اغلب برای تعریف یک شمارنده استفاده می شود.
  • condition: ارزیابی تکرار حلقه، اگر شرط برقرار باشد دستورات اجرا می شوند، در غیر اینصورت دستورات ادامه نمی یابند.
  • increment: بعد از هربار اجرای دستورات حلقه، این دستور اجرا می شود و اغلب برای افزایش شمارنده استفاده می شود.

نکته:

  1. در for می توان هرکدام از پارامترهای بالا را خالی گذاشت، به این صورت که اگر شرط خالی باشد، مقدار آن برابر با true در نظر گرفته می شود و حلقه بینهایت بار اجرا میشود! (البته با استفاده از دستور break که بعداً به آن اشاره می شود، می توان آن را قطع نمود)
  2. در for همچنین می توان برای پارامترهای بالا چند دستور مختلف را اجرا نمود به اینصورت که با علامت “,” آنها را باید از یکدیگر جدا نمود.

مثال:

در مثال زیر یک حلقه تعریف شده که با i=1 شروع می شود، و تا زمانی که i<=5 باشد ادامه خواهد یافت و به مقدار i در هر بار اجرای حلقه یک واحد اضافه می شود.


<html>
<body>

<?php
for ($i=1; $i<=5; $i++)
  {
  echo "The number is " . $i . "<br />";
  }
?>

</body>
</html>

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

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

حلقه 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]

=> Sara
families[Naderi][a] => Amir
families[Mohamadi][a] => Poya
families[Mohamadi][b] => Parniya

نظرات کاربران (0)