با دستور while هم میشه این کارو انجام داد.
کد PHP:
$i = 0;
while($i< 5 )
{
echo "$x[$i]";
$i++;
}
دستور foreach
به جز دو دستور بالا با دستور foreach هم میشه به عناصر آرایه دستیابی پیدا کرد.
از این دستور وقتی استفاده میشه که تعداد عناصر آرایه مشخص نیست
شکل کلی دستور
کد PHP:
foreach(&arrayname as $index)
{
...
}
arrayname نام آرایه است
as کلمه ای هست که باید به همین شکل نوشته بشه
index$ نتغیریه که عنصر فعلی آرایه توش قرار میگیره
کد PHP:
foreach($x as $index)
echo $current.'';
دستور foreach هر کدوم از عناصر آرایه رو به نوبت توی متغیر current$ قرار میده
خط آخر هم این متغیر رو نمایش میده
اندیس آرایه ها رو میشه با عددی غیر از 0 شروع کنیم
مثال
کد PHP:
$x[1 => 5, 10, 15];
برای فهم بهتر این موضوع یه صفحه طراحی می کنیم که اسامی شهر ها رو توی یک آرایه قرار میده و نمایش میده
کد PHP:
<?php
$city=array(1=>"babol","tehran","sari","amol","shiraz");
foreach($city AS $index => $state)
{
echo "<b><br> $index-$state ";
}
?>
دستور دوم ارایه ای با نام city$ تعریف میکنه که اندیس اول اون یکه نام 5 شهر هم توی آرایه قرار میگیره . و خط 3 یه حلقه تکرار foreach ایجاد میکنه که عناصر آرایه رو با اندیسشون چاپ میکنه
مثال دیگه ای هم در ادامه براتون میزنم
---------- Post added at 03:50 PM ---------- Previous post was at 02:24 PM ----------
صفحه ای طراحی می کنیم که تعداد دوستان رو بگیره بعد به همون تعداد کدر متنی ایجاد کنه و اسامی دوستان رو بگیره و در آرایه قرار بده و عناصر آرایه رو نمایش بده.
صفحه اول یک فرم html هست که تعداد دوستان رو از شما میگیره
کد HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="ch41-9.php" method="post" >
شما چند تا دوست دارید؟
<input type="text" name= "number" size="3">
<br>
<br>
<input type="submit" value="submit order">
<br>
</form>
</body>
</html>
صفحه دو م طبق عددی که کاربر در صفحه قبل وارد کرده کادر متنی ایجاد میکنه
و نام دوستان رو در کادر متنی درخواست میکنه و با فشاردادن دکمه اطلاعات به فرم دیگری ارسال میشه
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form method = post action = "ch41-9-1.php" >
<?php
$num = $_POST['number'];
for ($counter=0; $counter < $num; $counter++)
{
$OffSet = $counter+1;
echo "<b> <br>pleas enter the name of friend number $OffSet<br>";
echo "<b> <input name = child[] type = text>";
}
?>
<br>
<br>
<input type = "submit" value = "submit">
</form>
</body>
</html>
در صفحه سوم اطلاعات آرایه child که یک متغیر فرم است در متغیر c$ قرار میده
بعد با ایجاد یک حلقه تکرا با استفاده از دستور foreach اسم هر نفر رو در خروجی نمایش میده
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<?php
$c = $_POST['child'];
echo "<b> your friend's names are:<br>";
foreach($c as $index)
{
echo "<b>".$index."<br>";
}
?>
</body>
</html>
قسمت بعد آرایه انجمنی