0

これは、分割するように指示された別の質問へのフォローアップです。列とその値の異なるセットがあり、値を持つものと持たないものがあります。例えば:

$vCountries ['country1'] = "Value of country1";
$vCountries ['country2'] = "Value of country2";
$vCountries ['country3'] = "";
$vCountries ['country4'] = "Value of country4";
$vCountries ['country5'] = "";

...through to

$vCountries ['country50'] = "Value of country50";

次のコード例を生成したいと思います (値が含まれている場合のみ)。

<th id="country1">Value of country1</th>
<th id="country2">Value of country2</th>
<th id="country4">Value of country4</th>

...

すべての国 ID は、それらを区別するためのインデックスのみで一般的に命名されているため、これらの見出しを動的に生成したいと考えています。

誰かが次のコードを提案しました:

for ($i = 1; $i <= 50; ++$i) {
$vCountries['country' . $i] = "Value of country " . $i;}

しかし、最初に、それがどのように機能しているのか、そしてそれを上部のコードに解析する方法を理解していません。これは、今のところ配列配列配列などのみを出力し、「国の値.$i」は一般的ではなく、索引付けされているためです。 、それは国ごとに異なる実際の値なので、手動でリストする必要がありますか?

何か案は?

ありがとう

4

3 に答える 3

2

これでできます。

foreach($vCountries as $id => $value)
{
    if($value)
    {
        echo "<th id=\"$id\">$value</th>";
    }
}

これにより、値を持つエントリのみが出力されます。それぞれのidがidとして出力され、<th>それぞれの値が<th>タグ内に表示されます。

于 2011-02-03T15:35:12.667 に答える
0

これにより、必要なコードが生成されます。

foreach ($vCountries as $key => $value)
{
    if (strlen($value) > 0)
        echo "<th id=\"$key\">$value</th>";
}
于 2011-02-03T15:35:48.953 に答える
0

既に定義されている配列から上記の HTML コードを生成することが目標である場合、これが解決策になる可能性があります。

// Loop the array
foreach ($vCountries as $key => $value) {
    // If value is not empty
    if (!empty($value)) {
        // display the line
        echo '<th id="'.$key.'">'.$value.'</th>'."\n";
    }
}
于 2011-02-03T15:36:22.973 に答える