Метод length класса UnicodeString
Метод length класса UnicodeString возвращает
целое число - количество символов в строке.
В отличие от функции strlen, которая считает байты,
данный метод корректно обрабатывает многобайтовые
символы Unicode, включая кириллицу, эмодзи и составные символы.
Метод не принимает параметров.
Синтаксис
public function length(): int
Пример
Давайте создадим объект UnicodeString из строки
'abcde' и получим её длину:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('abcde');
$res = $str->length();
echo $res;
?>
Результат выполнения кода:
5
Пример
Давайте проверим, как метод обрабатывает кириллицу.
Функция strlen для строки 'привет' вернула бы
12 (по 2 байта на символ), а метод length вернёт
корректное количество символов:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('привет');
$res = $str->length();
echo $res;
?>
Результат выполнения кода:
6
Пример
Давайте получим длину пустой строки:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('');
$res = $str->length();
echo $res;
?>
Результат выполнения кода:
0
Пример
Давайте используем метод length вместе с методом
slice для обрезки строки до последних трёх символов:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('abcde');
$res = $str->slice($str->length() - 3);
echo $res;
?>
Результат выполнения кода:
"cde"
Смотрите также
-
класс
UnicodeString,
который представляет строку Unicode -
метод
width,
который возвращает ширину строки в терминале -
метод
slice,
который вырезает часть строки -
метод
isEmpty,
который проверяет строку на пустоту