PHP Conference Japan 2024

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 的一部分,由 offsetlength 参数指定。

参数

string

原始字符串。

offset

如果 offset 为非负数,则 iconv_substr()string 的第 offset 个字符开始截取部分字符串,从零开始计数。

如果 offset 为负数,则 iconv_substr() 从距离 string 末尾 offset 个字符的位置开始截取部分字符串。

length

如果给定 length 且为正数,则返回值将包含从 offset 开始的最多 length 个字符的部分字符串(取决于 string 的长度)。

如果传递负数 length,则 iconv_substr()string 的第 offset 个字符开始截取部分字符串,直到距离字符串末尾 length 个字符的位置。如果 offset 也为负数,则会根据上面解释的规则预先计算起始位置。

encoding

如果省略 encoding 参数或为 null,则假定 string 使用 iconv.internal_encoding 编码。

请注意,offsetlength 参数始终被视为表示基于 encoding 确定的字符集计算的偏移量,而对应的 substr() 始终将其视为字节偏移量。

返回值

返回 string 的一部分,由 offsetlength 参数指定。

如果 string 的长度小于 offset 个字符,则将返回 false。如果 string 的长度正好等于 offset 个字符,则将返回空字符串。

变更日志

版本 描述
8.0.0 lengthencoding 现在可以为 null。
7.0.11 如果 string 的长度等于 offset 个字符,则将返回空字符串。在此版本之前,在这种情况下将返回 false

参见

添加注释

用户贡献的注释 1 条注释

0
doru87 at gmail dot com
14 年前
仅供参考,iconv_substr() 未知错误 (0) 已在 PHP 5.2 中解决

在处理此问题时,您也可以尝试使用 mb_substr() 或 substr()。不幸的是,在 5.2 之前的版本中无法修复它。

此致,
Teodor Sandu
To Top