CakeFest 2024: The Official CakePHP Conference

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() - Получает часть строки

add a note

User Contributed Notes 2 notes

up
-1
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
up
-7
qbolec at terra dot es
16 years ago
<?=
iconv_substr
("A",0,1);
?>
generates folowing error:
Notice: iconv_substr() [function.iconv-substr]: Unknown error (0) in [...]

while, <?= iconv_substr("AB",0,1) ?> and <?= iconv_substr("AB",0,2) ?>
work as expected.
To Top