iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substr截取字符串的一部分

描述

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

截取由 offsetlength 参数指定的 string 的一部分。

参数

string

原始字符串。

offset

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

如果 offset 为负,iconv_substr()string 末尾倒数第 offset 个字符开始截取部分。

length

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

如果传递负数 lengthiconv_substr()string 中截取从第 offset 个字符开始到距离字符串末尾 length 个字符的部分。如果 offset 也是负数,则会根据上述规则事先计算起始位置。

encoding

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

请注意,offsetlength 参数始终被认为代表基于 encoding 确定的字符集计算的偏移量,而对应函数 substr() 始终将它们作为字节偏移量。

返回值

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

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

变更日志

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

参见

添加注释

用户贡献的注释 2 个注释

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

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

此致
Teodor Sandu
-8
qbolec at terra dot es
17 年前
<?=
iconv_substr
("A",0,1);
?>
生成以下错误
Notice: iconv_substr() [function.iconv-substr]: Unknown error (0) in [...]

<?= iconv_substr("AB",0,1) ?><?= iconv_substr("AB",0,2) ?>
按预期工作。
To Top