Почему функция выдает 66, а не 33?

Jeysmook

Новичок
Почему функция выдает 66, а не 33?
PHP:
function caesar($letters = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя')
{
    echo strlen($letters);
}
 

vasinsky

Новичок
потому то в юникоде кирилический символ занимает 2 байта.
а чем тебе mb_strlen() не подошёл? ))
 

Jeysmook

Новичок
vasinsky, Я просто не знал о такой функции. Я так понимаю приставка "mb_", говорит о том, что с ее помощью можно работать с кириллицей?
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Я так понимаю приставка "mb_", говорит о том, что с ее помощью можно работать с кириллицей?
Приставка mb_ говорит о том, что с её помощью можно работать с многобайтовыми кодировками.
 
  • Like
Реакции: AmdY

vasinsky

Новичок
mb_ - префикс для строковых функция php для юникода (когда работаешь с кириллицей)
 

hell0w0rd

Продвинутый новичок
vasinsky, ну как же так, прямо перед твоим постом написали правильный ответ, и сразу за ним же ты пишешь не правильный.
 

vasinsky

Новичок
)) чем моя формулировка противоречит??
ты оспариваешь то что в юникоде кириллический символ занимает 2 байта?
или то что префикс mb_ длч строковых функций php для юникода ?
 

hell0w0rd

Продвинутый новичок
vasinsky, не только юникод - многобайтная кодировка, а юникод - не только кириллические символы
 

vasinsky

Новичок
о ты о всём сразу? )) погугли в какой кодировке пишут сейчас

есть желание - проведи онлайн курс о всём остальном.

давай ТС расскажем. о чёрной матери сразу.

может он в utf-16 пишет? .. самое то, да?
 

Andkorol

Новичок
Надеюсь, что завтра, когда ты протрезвеешь – тебе будет стыдно читать эти свои бредни.
Ну, или хотя бы смешно...:D
 
Сверху