Сравнение Строк


Существует несколько форм сравнения, но всегда вижу, что подходящие (===, strcmp ou strcasecmp).

Среди этих фигур, представленных считаются самыми безопасными (по мнению некоторых сайтах в интернете), следующие сомнения:

  1. , Какой будет более подходящим для использования?
  2. в чем разница между ними?
  3. Существует также некоторая разница в производительности?
Author: Rafael Withoeft, 2015-04-02

2 answers

Ты в виду различные подходы. Хорошо, что оба сравнивают две строки, которые возвращают (или говорят о том, strings) отличается.

=== возвращает только Логическое значение, true или false.

strcmp возвращает отрицательный (<0), если первая строка прошлой назначение расширения меньше, чем второй; положительный в противном случае;, и ноль, если они равны.

Может сказать === - это, чтобы узнать, являются ли они одинаковыми, strcmp для сравнения строк, возвращающихся 3 возможность. strcasecmp - это разновидность strcmp, но case-insensitive, игнорируя, если имеет большие буквы или маленькие.

Performance:

Только можно сравнить diferencas производительности в случае, если они оба имеют в коммун, то есть, когда, если хотите, чтобы сравнить, если две строки идентичны.

Таким образом, принимая во внимание, что strcmp и strcasecmp, нужны дополнительные проверки, чтобы узнать результат становится очевидным, что === - это быстрее. Или они strcmp проходит первый strcmp(strA, strB), а затем старше проверка равенства == 0. Нашел, но некоторые цифры здесь, указывающие на производительность 3x быстрее с помощью ===.

Заключение:

Если вы хотите знать, если две строки идентичны, должны использовать ===.

 8
Author: Sergio, 2020-06-11 14:45:34

Используйте ===, если вы хотите узнать, являются ли они идентичными.

, Если вы хотите узнать, какой из них больше, какая user strcmp.

" Не надейтесь только на этом посту, перейдите всегда далеко, как вы можете в знаниях.

 -5
Author: user130456, 2018-11-09 02:22:31