در کد زیر ما یک آرایه چند بعدی داریم که با استفاده از حلقه های تو در تو اعضای آرایه ها را نمایش می دهیم , لطفا اشکالات کد رو دوستان عنوان کنید ممنون
$cars = array(
[
'BMW', 'blue',
[
10,
5,
['2003', 'Planetary']
],
],
[
'Benz', 'Red',
[
20,
12
],
],
["Volvo", 'White', 50, 32],
[
'Dena', 'Black',
[
8,
13
],
]
);
$i = 0;
while ($i < sizeof($cars)) {
$j = 0;
while ($j < sizeof($cars[$i])) {
if (gettype($cars[$i][$j]) == 'array') {
$k = 0;
while ($k < sizeof($cars[$i][$j])) {
if (gettype($cars[$i][$j][$k]) == 'array') {
$z = 0;
while ($z < sizeof($cars[$i][$j][$k])) {
if ($z == 0) {
echo 'Production Year : ' . $cars[$i][$j][$k][$z] . ' / ';
} elseif ($z == 1) {
echo 'Gearbox : ' . $cars[$i][$j][$k][$z] . ' / ';
} else {
echo 'error';
}
$z++;
}
} elseif ($k == 0) {
echo 'Stock : ' . $cars[$i][$j][$k] . ' / ';
} elseif ($k == 1) {
echo ' Sold : ' . $cars[$i][$j][$k] . ' / ';
} elseif ($k == 2) {
echo ' sold : ' . $cars[$i][$j][$k];
} elseif ($k == 3) {
echo $cars[$i][$j][$k];
} else {
echo 'ُErr';
}
$k++;
}
} else {
if ($j == 0) {
echo 'Model : ' . $cars[$i][$j] . ' / ';
} elseif ($j == 1) {
echo 'Color :' . $cars[$i][$j] . ' / ';
} elseif ($j == 2) {
echo 'Stock : ' . $cars[$i][$j] . ' / ';
} elseif ($j == 3) {
echo 'Sold : ' . $cars[$i][$j];
} else {
echo 'error0';
}
}
$j++;
}
echo '<br>';
$i++;
};
سلام و احترام
برای آرایه ها حلقه های while مناسب نیستند ولی برای تمرین خوبه مشکلی نیست، در ادامه کار با حلقه های foreach رو یاد خواهید گرفت که برای آرایه ها خیلی پر استفاده هستند
موفق باشید
<?php
$users = array(
[
'Amir',
'Fayazi',
25,
[
'php', 'wordpress', 'Seo', 'WebMaster',
[
'Moqadamati', 'Pishrafteh'
]
]
],
[
'Micki',
'Nick',
18,
['Android', 'Java']
],
[
'Farhad',
'Fadavi',
35,
['JS', 'Html', 'Ajax']
]
);
foreach ($users as $user) {
foreach ($user as $value) {
if (gettype($value) == 'array') {
foreach ($value as $arrToStr) {
if (gettype($arrToStr) == 'array') {
foreach ($arrToStr as $arrToStr2) {
if ($arrToStr[0] == $arrToStr2) {
echo ' / Level :' . $arrToStr2;
} else echo ' & ' . $arrToStr2;
}
} else {
if ($value[0] == $arrToStr) {
echo ' Skills :' . $arrToStr;
} else echo ' & ' . $arrToStr;
}
}
} else {
if ($user[0] == $value) {
echo 'Name : ' . $value . ' / ';
} elseif ($user[1] == $value) {
echo 'Family : ' . $value . ' / ';
} elseif ($user[2] == $value) {
echo 'Age : ' . $value . ' / ';
};
};
}
echo '<br>';
};