PHP - 每个的价值

时间:2014-06-10 10:45:38

标签: php foreach

您好我有一个问题:我想创建这两个数组的表。在第一列中,我想要玩家姓名,第二列是分数,第三列是分数的平均值。我只是让桌面上的玩家重复自己。我不知道如何使它工作。我知道foreach的价值在于玩家,所以我知道它会重演,但我该如何解决呢?

<?php
    $aScore = array (1 => 0, 2 => 20, 3 => 4, 4 => 23, 5 => 5, 6 => 4);

    $aPlayers = array (1 => 'Jansen', 2 => 'Boularus', 3 => 'Rintintin', 4 => 'Chavez', 5 => 'Zomers', 6 => 'Tahamata');

    echo '<table border="1">';
    echo '<tr><td>Player</td><td>Score</td><td>Average score</td></tr>';

    foreach($aPlayer as $key => $value)
    {
        echo '<tr><td>'.$value.'</td><td>'.$value.'</td><td>'.$value.'</td></tr>';
    };

    echo '</table>';


    ?>

2 个答案:

答案 0 :(得分:1)

试试:

foreach($aPlayers as $key => $value)
{
    echo '<tr><td>'.$value.'</td><td>'. $aScore[$key] .'</td><td>'. $aAverageScore[$key] .'</td></tr>';
}

您的问题中没有$aAverageScore变量,但我认为您会知道要放在这里的内容。

但是,您应该将数据存储在多维关联数组中,例如:

$players = array(
  array(
    'name'    => 'Jansen',
    'score'   => 0,
    'average' => 0
  ),
  array(
    'name'    => 'Boularus',
    'score'   => 20,
    'average' => 20
  ),
  // ...
);

并将其循环:

foreach ($players as $player) {
  echo '<tr><td>' . $player['name'] . '</td><td>' . $player['score'] . '</td><td>' . $player['average'] . '</td></tr>';
}

答案 1 :(得分:1)

使用简单的for循环代替foreach

for ($k=1; $k<=count($aPlayer); $k++) {
    echo '<tr><td>'.$aPlayer[$k].'</td><td>'.$aScore[$k].'</td><td></td></tr>';
}