оператор if, который различает два значения, которые не равны 0

#php #if-statement

#php #оператор if

Вопрос:

Это часть гораздо большего блока кода, однако все остальное работает должным образом за пределами этого блока. У меня есть два столбца в базе данных mysql, «цена» и «аренда». Значение по умолчанию для «цены» и «аренды» в базе данных равно 0. Я пытаюсь использовать оператор if, чтобы сказать, когда цена не равна 0, echo $ price, иначе, когда аренда не равна 0, echo $ lease.

 if ($price !== 0) {
    echo '<td>'. $price .'</td>';
} else if ($lease !== 0) {
    echo '<td>'. $lease .'</td>';
}
  

Однако это просто возвращает все записи в базе данных, которые не имеют значения 0 для $ price и которые имеют значение 0 для $ lease. Есть идеи?

Комментарии:

1. Ваш уровень базы данных, вероятно, возвращает string '0' , а не integer 0 , поэтому !== проверка, которая включает тип, не выполняется. Вы могли бы использовать != или привести к int.

2. if ((int)$price !== 0) и elseif((int)$lease !== 0)

3. Как вы можете определить, является ли это ценой печати или арендой? Они оба находятся в одном столбце таблицы.

4. @Barmar — цена и аренда находятся в отдельных столбцах в таблице db.

5. Я знаю, но вы повторяете их в той же <td> части HTML-таблицы.