Спасибо за любую помощь, которую вы можете предложить с этим ...
Я создаю страницу с кучей отчетов о погоде от различных погодных инструментов.Проблема, с которой я сталкиваюсь, заключается в том, что иногда эти инструменты не отправляют определенные данные по разным причинам.Я использую цикл foreach для отображения всех погодных условий ... но если станция не отправила, например, значение порыва ветра, я получаю предупреждение в списке.Очевидно, я бы предпочел, чтобы в списке просто говорилось «нет данных» или что-то в этом роде ... вместо большого красного поля с предупреждением.
Вот код, над которым я работал ...
<table>
<tbody>
<tr>
<th>Site</th>
<th>Temperature°F</th>
<th>Dew Point°F</th>
<th>Humidity%</th>
<th>Wind Direction</th>
<th>Wind Speed MPH</th>
<th>Wind Gust MPH</th>
<th>Pressure (mb)</th>
</tr>
<?php foreach($data->STATION as $site): ?>
<tr>
<td> <?php echo($site->NAME); ?> </td>
<td> <?php echo($site->OBSERVATIONS->air_temp_value_1)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->dew_point_temperature_value_1d)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->relative_humidity_value_1)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->wind_cardinal_direction_value_1d)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->wind_speed_value_1)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->wind_gust_value_1)->value; ?> </td>
<td> <?php echo($site->OBSERVATIONS->sea_level_pressure_value_1d)->value; ?> </td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
Все они получены из данных JSON из API.Проблема в том, что если новое наблюдение от метеорологического прибора не отправляет значение порыва ветра ... то в данных JSON для этой переменной ничего нет.Но мой код все еще ищет его в данных JSON.Поэтому я получаю предупреждение:
Примечание: неопределенное свойство: stdClass :: $ wind_gust_value_1 в C: \ wamp64 \ www \ mesowesttable.php в строке 48
Есть ли способ получитьтаблица заполняется "Нет данных" вместо того, чтобы получить предупреждение?Какой-то тип выражения "если / тогда"?
Спасибо всем,
Джастин