В чем разница между функциями PHP iconv_strlen, mb_strlen и strlen?

В чем разница между функциями iconv_strlen, mb_strlen и strlen?

И для чего каждый используется в реальном мире?

Ответы

Ответ 1

Разница между strlen() и mb_strlen() заключается в том, что второе относится к многобайтовым символам. Это означает, что это реальный счет персонажа. Первый предполагает, что строка всегда находится в ascii, что также означает, что она всегда возвращает размер в байтах (очень полезно при обработке двоичных "строк" ).

Насколько я понимаю, iconv_strlen() очень похож на mb_strlen(), но не работает на неудачных последовательностях символов, в отличие от mb_strlen(), который просто игнорирует их. И он использует iconv -библиотеку (очевидно;)).