如何在PHP中使用foreach打印外循环键?

问题描述 投票:0回答:1

我需要一些作业帮助。我被卡住是因为我不断得到:“注意:数组到字符串的转换”。该作业专门说要使用嵌套的foreach循环遍历二维关联数组。我已经成功地遍历了内循环。我不确定如何克服“数组到字符串转换”错误。为了理智,我添加了NFL球队的柜台。我对足球一无所知。有小费吗?

<!DOCTYPE html>
<html lang='en' dir='ltr'>
    <head>
        <meta charset='utf-8'>
        <title>Program Three</title>
        <link rel='stylesheet' href='main.css'>
    </head>
    <body>
        <main>
            <?php

                echo '<h1>Two Demensional Array\'s</h1>';
                echo '<hr>';

                $nfl['Buccaneers'] = array(
                    'QB' => 'Winston',
                    'DT' => 'Martin',
                    'OT' => 'Evans'
                );

                $nfl['Broncos'] = array(
                    'QB' => 'Attaochu',
                    'RB' => 'Bailey',
                    'WR' => 'Bausby'
                );

                $nfl['Browns'] = array(
                    'QB' => 'Zimmer',
                    'LB' => 'McCray',
                    'SQ' => 'Davis'
                );

                $array_keys = array_keys($nfl);
                $nfl_team_counter = 0;
                foreach ($nfl as $key => $value) {
                    $nfl_team_counter++;                    
                    echo '<b>NFL Team # ' . $nfl_team_counter . '.<br></b>';
                    foreach ($value as $k => $v) {
                        echo $k . ' is ' . $v . '.<br>';
                    }
                    echo '<br>';
                }
            ?>

        </main>
        <footer class='text_align_center'>
            <hr> <small> SomeWebsite &copy; -- <?php echo date('M-jS-Y'); ?> </small>
        </footer>
    </body>
</html>


php arrays foreach nested associative-array
1个回答
0
投票

该键在您的外循环中定义为$key。该变量始终可用。因此您可以随时打印。

            foreach ($nfl as $key => $value) {
                $nfl_team_counter++;                    
                echo '<b>NFL Team # ' . $nfl_team_counter . '.<br></b>';
                foreach ($value as $k => $v) {
                    echo "$key => $k => $v\n"; // Buccaneers => QB => Winston
                }
                echo '<br>';
            }
© www.soinside.com 2019 - 2024. All rights reserved.