2015-12-17 6 views
1

У меня есть сценарий, который вызывает данные из json-файла. Код ниже работает отлично, если в json имеются данные уже для широты и долготы. Данные являются числовыми. Я хочу сделать это, если json-файл пуст для широты и долготы, тогда следующий код возвращает значение нуля. Я не могу понять концепцию.Если php-данные пустые

location: { 
    latitude: 
    <?php 
     if (!empty($ceremony_data->latitude)) { 
      echo urldecode($ceremony_data->latitude); 
     } 
    ?>, 
    longitude: 
    <?php 
     if (!empty($ceremony_data->longitude)) { 
      echo urldecode($ceremony_data->longitude); 
     } 
    ?> 
} 

ответ

0

Ключ изменить ваши if условия, чтобы вернуть значение по умолчанию, в этом случае 0. Что-то вроде этого следует сделать это:

if (empty($ceremony_data->latitude)) { 
    echo '0'; 
} else { 
    echo urldecode($ceremony_data->latitude); 
} 

Обратите внимание, что я перевернул !empty() к только empty() к сделать его немного легче следовать.

+0

Это сделало. Большое вам спасибо TwoStraws. Я разрабатываю приложения для iPhone, поэтому Objective-C и Swift находятся в моей рулевой рубке. PHP вне меня. Спасибо за ответ – iSITKiosk

+0

Internet high five для Objective-C и Swift! (Я написал https://www.hackingwithswift.com) Рад, что мой ответ помог вам; пожалуйста, отметьте это как правильно, чтобы другие могли воспользоваться. – TwoStraws

0

Я использовал бы тернар, чтобы назначить 0 или значение переменной, а затем просто повторить эту переменную.

<?php 
$lat = !empty($ceremony_data->latitude) ? $ceremony_data->latitude : '0'; 
$lon = !empty($ceremony_data->longitude) ? $ceremony_data->longitude : '0'; 
?> 
... 
location: { 
    latitude: 
    <?php echo $lat;?>, 
    longitude: 
    <?php echo $lon;?> 
} 
+0

Protip: PHP7 содержит оператор '??', который проверяет, существует ли переменная и не равна NULL. '$ lon = $ celebr_data-> долгота ?? 0; ':) –

+0

Хорошая точка, хотя я не нахожу, что PHP 7 широко используется (слишком много вопросов по-прежнему используют' mysql_'). – chris85

+0

@ chris87 Ну, это потому, что PHP 7 довольно новый, и репозитории по-прежнему предлагают PHP 5.5 (если даже не 5.4). Поэтому вам нужно будет скомпилировать его самостоятельно, если хотите. И большинство людей не хотят или не знают, как это сделать. –

Смежные вопросы