Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
<?php
$word = 'привет';
echo strlen($word), ' ', mb_strlen($word), ' ';
echo strtoupper($word), ' ', mb_strtoupper($word), "\n";12 6 привет ПРИВЕТ
- Ждать, что
strlen('привет')даст6:strlenсчитает байты, а каждая кириллическая буква занимает в UTF-8 два байта, поэтому выходит12. - Ждать, что
strtoupperсделает кириллицу заглавной: он меняет только латинские буквы отaдоz, иприветне меняется, аmb_strtoupperдаётПРИВЕТ.
- Почему
strlen('php')иmb_strlen('php')возвращают одно и то же число? - Почему
substr($word, 0, 3)может напечатать сломанный символ?