Как проверить наличие переменных в codeigniter (php)?новый вопрос - PullRequest
7 голосов
/ 18 августа 2011

Привет, я новичок в php и codeigniter. Я знаю, что в представлении codeigniter вы можете отобразить переменную типа

<?php echo $var ?>

но если скажу, я не передаю переменную $ var, я получаю неприятный

<h4>A PHP Error was encountered</h4>

в моем HTML исходном коде. Я работал с django раньше в их шаблоне, если переменная не существует, они просто не отображают ее. Есть ли способ в php / codeigniter сказать: «если $ var существует, что-нибудь еще ничего не делает»?

Я пытался:

<?php if($title): ?>
    <?php echo $title ?>
<?php endif; ?>

но это была ошибка. Спасибо!

Ответы [ 3 ]

15 голосов
/ 18 августа 2011

Используйте функцию isset(), чтобы проверить, была ли объявлена ​​переменная.

if (isset($var)) echo $var;

Используйте функцию empty(), чтобы проверить, не содержит ли переменная содержимое, например NULL, "", false or 0.

1 голос
/ 10 августа 2015

Я создаю новую вспомогательную функцию (см .: https://www.codeigniter.com/userguide2/general/helpers.html), которая называется «существует», которая проверяет, установлена ​​ли переменная и не пуста:

function exists($string) {
  if (isset($string) && $string) {
    return $string;
  }
  return '';
}

Включите это в контроллер:

$this->load->helper('exists');

Тогда в представлении у меня просто есть:

<?php echo exists($var) ?>

Если бы вы хотели, вы могли бы включить эхо прямо в функцию, но не уверены, что это плохая практика?

0 голосов
/ 31 января 2015

Вы можете использовать троичный оператор

echo isset($var) ? $var : '';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...