Artur3194
@Artur3194

Не корректная работа функции сравнения строк?

Сделал функцию сравнения двух строк с дальнейшей отметкой если строки не равны.
function checkFailureMasterSumm($masterSumm, $controlSumm){
	if(!empty($masterSumm) && !empty($controlSumm)){
		if(strcasecmp($masterSumm, $controlSumm)){
			return 'master_failure_summ';
		}
	}
}

Работает вроде нормально. Но если передать в одной строке - 0, то всё ломается.
6040e8d2d8bd1380903560.png
Где я туплю?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Ваша проблема в сравнении:
if(!empty($masterSumm) && !empty($controlSumm)){

Согласно документации:
Возвращает false, если var существует и содержит непустое ненулевое значение или строку false, смотрите Преобразование в булев тип. В противном случае возвращает true.


В любом случае, если я правильно понимаю переменные $masterSumm, $controlSumm содержат числа. Если так то и сравнивать их следует как числа.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 11:20
1000 руб./за проект
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект