这是我被指示分手的另一个问题的后续行动。我有不同的列集和它们的值,其中一些有值,有些则没有。例如:
$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”不是通用和索引,它是每个国家不同的实际值,所以我仍然需要手动列出,不是吗?
有什么想法吗?
由于
答案 0 :(得分:2)
这样就可以了。
foreach($vCountries as $id => $value)
{
if($value)
{
echo "<th id=\"$id\">$value</th>";
}
}
仅输出带有值的条目。每个ID都以<th>
ID格式输出,每个值都显示在<th>
标记内。
答案 1 :(得分:0)
这会生成您想要的代码:
foreach ($vCountries as $key => $value)
{
if (strlen($value) > 0)
echo "<th id=\"$key\">$value</th>";
}
答案 2 :(得分: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";
}
}