2014-01-21 2 views
0

Я хочу проверить размер строки, которая может содержать любые типы данных. Я проверил strlen и mb_strlen, но я не уверен в различиях, связанных с различным содержимым данных.Размер строки PHP, которая может содержать данные любого типа

Некоторый фон: в конце концов, что мне нужно сделать, вырезать строку в кусках, чтобы сериализовать ее и хранить в кусках (возможность восстановления после этого). Цанки всегда имеют одинаковый размер (32Kb) и содержат сериализованный объект с данными и часть строки, которую я вырезал, поэтому для этого мне нужен точный размер строки.

+1

См. Http://stackoverflow.com/questions/1447699/strlen-mb-strlen-which-to-use – Thompson

ответ

2

От руководства РНР:

Note: 
strlen() returns the number of bytes rather than the number of characters in a string. 

В противоположность этому, mb_strlen примет кодировку во внимание. Он возвращает количество фактических символов, как определено в кодировке символов в строке. Для многобайтовых/переменных байтовых символов кодировка strlen может/будет больше, чем mb_strlen.

mb_strlen также может возвращать FALSE, если вы указываете кодировку символов, к которой тестируемая строка не соответствует.

Смежные вопросы