Почему этот кусок кода возвращает false?

1

у меня есть

<?php  if($transaction_status_code != 00)  { 
  //dosomething
 } else {
   //do something
  } ?>

но приведенный выше код возвращает true, когда $ transaction_status_code = Z1, пожалуйста, что может быть проблемой

  • 1
    Потому что он выполняет приведение к int. Оберните ваши 00 в кавычках. чтобы сделать сравнение строк.
  • 0
    @ Джон Стирлинг Ты должен написать это как ответ
Показать ещё 2 комментария
Теги:

2 ответа

1
Лучший ответ

проблема заключается в сравнении двух разных значений типа данных.

Z1 - это строковый тип, а 00 - целочисленный тип. Поэтому вам нужно преобразовать его в строку для правильного сравнения. 00 в кавычки.

<?php  if($transaction_status_code != "00")  { 
  //dosomething
 } else {
   //do something
  } ?>

Примечание. - В соответствии с проблемой, которую вы обсуждали в своем вопросе, вам нужно изменить != ==.

2

Это действительно просто, вы делаете не равные. ! = an равно будет == поэтому Z1 будет истинным, а 00 будет ложным

Ещё вопросы

Сообщество Overcoder
Наверх
Меню