Метод width класса UnicodeString
Метод width класса UnicodeString возвращает
ширину строки в терминале. В отличие от метода
length, который считает количество символов,
метод width учитывает реальное количество
колонок, которое строка занимает при выводе. Широкие
символы (например, иероглифы) считаются за две
колонки, а комбинируемые символы (например,
диакритические знаки) не увеличивают ширину.
Метод не принимает параметров и возвращает целое число - количество колонок терминала, которое занимает строка.
Синтаксис
public function width(): int
Пример
Давайте получим ширину строки 'abcde':
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('abcde');
$res = $str->width();
echo $res;
?>
Результат выполнения кода:
5
Пример
Давайте сравним ширину и длину строки с иероглифами:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString('日本語');
echo $str->width();
echo "\n";
echo $str->length();
?>
Результат выполнения кода:
6
3
Пример
Давайте получим ширину строки с комбинируемым символом:
<?php
use SymfonyComponentStringUnicodeString;
$str = new UnicodeString("e\u{0301}");
$res = $str->width();
echo $res;
?>
Результат выполнения кода:
1
Смотрите также
-
метод
length,
который возвращает количество символов в строке -
метод
truncate,
который обрезает строку до заданной длины -
метод
slice,
который возвращает часть строки -
класс
UnicodeString,
который представляет Unicode-строку