4

簡単なはずなのに理解できないように思える簡単な質問があります。

次の構造の連想配列があります。

 [uk] => Array
        (
            [TW] => 1588
            [LY] => 12936
            [LW] => 13643
        )

次のようにHTMLテーブルに表示しています。

foreach ($leads as $country) {
    echo '<tr><td>' . $country . '</td><td>' . $country['TW'] . '</td><td>' . $country['LY'] . '</td><td>' . $country['LW'] . '</td></tr>';
}

しかし、国が出てきたArrayので、私はその部分を取り除くために私が何を間違っているのか疑問に思っていukます。

出力

Array   1588    12936   13643
4

3 に答える 3

7

次のようなものを使用します。

foreach ($leads as $name => $country) {
    echo '<tr><td>' . $name. '</td><td>' . $country['TW'] . '</td><td>' . $country['LY'] . '</td><td>' . $country['LW'] . '</td></tr>';
}

ここ$nameで、ループ内にキー (この場合は「uk」)$countryがあり、要素の値 (この場合は配列) です。(TW => 1588, LY => 12936, LW => 13643)

于 2012-10-08T14:09:04.010 に答える
3

ループしているアイテムのキーを取得したい場合は、別のforeach構文を使用する必要があります。

foreach($leads as $code=>$country) {
    var_dump($code,$country);
}
于 2012-10-08T14:09:57.620 に答える
1

$country 項目ごとに配列キーを抽出する必要があります。foreach に追加します。

foreach ($leads as $key => $country) {
echo '<tr><td>' . $key . '</td><td>' . $country['TW'] . '</td><td>' . $country['LY'] . '</td><td>' . $country['LW'] . '</td></tr>';
  }
于 2012-10-08T14:11:25.887 に答える