I see a lot of usage in the field where people rely on this function to truncate a string to a given length and append some chars at the end following example #1 in the above documentation.
While this works just fine with Western alphabets, it should be noted that a string's width is NOT necessarily the same as its length.
In Chinese, Japanese and Korean, some characters can be represented as full or half width, which may lead to unexpected results...
<?php
$str = ['English' => 'Switzerland',
        'Half width' => 'スイス',
        'Full width' => 'スイス',
       ];
foreach ($str as $w => $s) {
    printf("%-10s: %s (bytes=%d chars=%d width=%d)\nSubstring : %s\nTrim width: %s\n\n",
        $w, $s,
        strlen($s), mb_strlen($s), mb_strwidth($s),
        mb_substr($s, 0, 3),
        mb_strimwidth($s, 0, 3)
    );
}
>?