Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как сравнить переменные типа string и mbstring?
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2011
Помог: 0 раз(а)
Задача по-моему очень интересная и ответа я пока не нашел на всем просторе рунэта..может кто-нибудь знает с помощью каких функций можно произвести преобразование типа переменной из string в mbstring.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Строка в PHP - суть массив байтов и типа данных mbstring не существует, mb_ - лишь надстройка над строковыми функциями, чтобы последние учитывали символы, а не байты.
Короче, сравниваются обычным сравнением ==. При необходимости, можно кодировку поменять с помощью iconv
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2011
Помог: 0 раз(а)
Мелкий пишет:
Строка в PHP - суть массив байтов и типа данных mbstring не существует, mb_ - лишь надстройка над строковыми функциями, чтобы последние учитывали символы, а не байты.
Короче, сравниваются обычным сравнением ==. При необходимости, можно кодировку поменять с помощью iconv
Нет, когда смотрим строку var_dump-ом, ф-ия показывает что в строке больше символов чем на экране примерно вдвое, т.е. "Привет", она читает как string(12) "Привет"
EuGen
Отправлено: 24 Июня, 2011 - 11:24:17
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
var_dump и будет показывать так.
А что Вас смущает? Оно показывает длину в байтах, не в символах.
Сравнивайте как Вам сказали.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
kosal
Отправлено: 24 Июня, 2011 - 11:38:42
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Июнь 2011
Помог: 0 раз(а)
EuGen пишет:
var_dump и будет показывать так.
А что Вас смущает? Оно показывает длину в байтах, не в символах.
Сравнивайте как Вам сказали.
))) Думаете я не сравнивал, сразу на форум отписал о проблеме что ли?))) результат сравнения false, хотя значение переменной и строки идентично!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.