Как динамически генерировать заголовки и печатать их, только если они содержат значение? - PullRequest
0 голосов
/ 02 февраля 2011

Я новичок в PHP, и мне интересно, что будет лучшим способом сделать следующее:

Прокручивая некоторые записи в файле Excel и выводя их в виде заголовков для таблицы HTML, каждый из заголовков в Excel начинается с заголовка, за которым следует индекс, поэтому у вас есть:

Country1, Country2, Country3 ....through to Country50.

Пока я работаю со следующими, которые не очень эффективны:

$vCountries ['country1'] = "Value of Country 1";
$vCountries ['country2'] = "Value of Country 2";
$vCountries ['country3'] = "";
$vCountries ['country4'] = "Value of Country 4";

тогда я использую следующее, чтобы проверить, если они пустые, то

foreach ($vCountries as $key => $value){
if(!empty($value)){
$result  .= "<th id='$key' .$value. "</th>\n";}
}}

Но это не работает. Мне не хватает части этой головоломки. Есть идеи?

1 Ответ

0 голосов
/ 02 февраля 2011

Попробуйте добавить проверку длины строки в оператор if:

if (!empty($value) && strlen($value) > 0) {
    $result  .= "<th id='$key'" .$value. "</th>\n";
}

Кроме того, у вас есть дополнительная закрывающая фигурная скобка в конце строки "$ result. =", Которая, вероятно, приведет к синтаксической ошибке

Что касается неэффективного построения массива, попробуйте что-то вроде этого:

$vCountries = array();
for ($i = 1; $i <= 50; ++$i) {
    $vCountries['country' . $i] = "Value of country " . $i;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...