2011-02-03 13 views
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"; 

は、私は(それは価値が含まれている場合にのみ)次のコード例を生成したいと思います:のは、一般的に、それらを異なるためにのみインデックスで命名されているすべての国のID以来

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

... 

、これらの見出しを動的に生成したいと思います。

誰かが次のコードを示唆している:

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

をしかし、まず、私はそれが働いているかを理解していないと今のそれが唯一の配列の配列を出力しますので、どのように私は上部のコードにそれを解析することができます配列など、 "国の価値$ i"は一般的で索引付けされていないので、実際の値は国ごとに異なるので、手動でリストする必要がありますか?

アイデア?

ありがとうございました

答えて

2

これはこれを行います。

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

これは、値を持つエントリのみを出力します。各IDは<th>というIDで出力され、各値は<th>タグ内に表示されます。

+0

私の回答を削除しました... –

+0

@Murilo:次回は削除する代わりに修正します。あなたの答えは会話に付加価値をもたらし、ちょっとした調整が必要でした。 –

+0

ありがとうございました!私はここで新しいので、このツールの使い方を学んでいます。ここの人は非常に速く、私は自分の答えを書くようになったとき、答えはまだありませんでしたので、あなたは私の答えが必要ではないと答えました。 –

0

これは、あなたが望むコードを生成します。

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

'$ value'が大きければパフォーマンスが低下する可能性があるので、' strlen() 'を使うのは良くないと思います。 –

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"; 
    } 
} 
+0

あなたの素早い返信をお寄せいただきありがとうございます。私はSurreal Dreamsソリューションを試してみましたが、動作しているようですが、値があればExcelファイルをチェックしなければならないという問題が発生しました。だから私はセルにアクセスしてそれをチェックする必要がありますので、私と一緒に別の質問をする必要があります。このサイトは混乱しています:) – HGB

関連する問題