نمایش عناصر ارایه های چندبعدی با استفاده از ساختارهای شرطی و حلقه ها

پرسیده شده
فعالیت 1198 روز پیش
دیده شده 434 بار
1

در کد زیر ما یک آرایه چند بعدی داریم که با استفاده از حلقه های  تو در تو اعضای آرایه ها را نمایش می دهیم , لطفا اشکالات کد رو دوستان عنوان کنید ممنون 

$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++;
};
فایل پیوست

Amir F
Amir F

27 دی 99

3

مورد تایید استاد

حذف شده

سلام و احترام

برای آرایه ها حلقه های while مناسب نیستند ولی برای تمرین خوبه مشکلی نیست، در ادامه کار با حلقه های foreach رو یاد خواهید گرفت که برای آرایه ها خیلی پر استفاده هستند

موفق باشید

فایل پیوست

امیر صالحی

توسط

امیر صالحی

27 دی 99

حذف شده
ممنون جناب صالحی که بررسی فرمودید بله سعی می کنم از foreach استفاده کنم
Amir F

27 دی 99

حذف شده
پیرو حرف شما همون ساختار رو با foreach پیاده سازی کردم و همونطور که فرمودید با foreach کار خیلی راحت تر و سریع تر انجام می شه درادامه کد رو قرار می دم باز اگر موردی بود ممنون می شم عنوان کنید
Amir F

28 دی 99

0
حذف شده
<?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>';
};
فایل پیوست

Amir F

توسط

Amir F

28 دی 99

حذف شده
سلامی مجدد، عالیه همینطوری ادامه بدید که کلی چیزای خفن در انتظارتون هست.
امیر صالحی

28 دی 99