PHP Conference Nagoya 2025

iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substrПолучение части строки

Описание

iconv_substr(
    string $string,
    int $offset,
    ?int $length = null,
    ?string $encoding = null
): string|false

Получает часть строки string, определённую параметрами offset и length.

Список параметров

string

Изначальная строка.

offset

Если offset неотрицателен, iconv_substr() получает часть строки string начиная с символа с порядковым номером offset (нумерация начинается с нуля).

Если offset отрицателен, iconv_substr() получает часть строки начиная с позиции, отстоящую от конца строки string на offset символов.

length

Если length задан и положителен, возвращаемое значение содержит не более length символов, начиная с offset (зависит от длины строки string).

Если указан отрицательный length, iconv_substr() получает часть строки string, начиная с offset символа и до символа, отстоящего от конца строки на length символов. В случае, если offset также отрицателен, стартовая позиция вычисляется заранее в соответствии с вышеописанным правилом.

encoding

Если параметр encoding не указан, предполагается, что строка string имеет кодировку iconv.internal_encoding.

Обратите внимание, что и offset, и length основываются на размере символа, рассчитанного исходя из кодировки текста (encoding), в то время как схожая функция substr() всегда рассматривает их побайтовое смещение.

Возвращаемые значения

Возвращает часть строки string, определённую параметрами offset и length.

Если строка string имеет меньшую длину, чем параметр offset, будет возвращено false. Если string имеет длину равную offset, будет возвращена пустая строка.

Список изменений

Версия Описание
8.0.0 length и encoding теперь допускают значение null.
7.0.11 Если string имеет длину равную offset, будет возвращена пустая строка. Ранее в подобных случаях возвращалось false.

Смотрите также

  • substr() - Возвращает подстроку
  • mb_substr() - Возвращает часть строки
  • mb_strcut() - Получает часть строки

Добавить

Примечания пользователей 1 note

up
0
doru87 at gmail dot com
14 years ago
just fyi, iconv_substr() unknown error (0) has been resolved in PHP 5.2

you can also try mb_substr() or just substr() when dealing with this issue. Unfortunately there is no way to fix it in versions prior to 5.2.

Regards,
Teodor Sandu
To Top