iconv_substr
(PHP 5, PHP 7, PHP 8)
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
が指定され、かつ正である場合、 返される文字列はoffset
から数えて最大length
文字数分となります (string
の長さに依存します)。もし負の
length
が渡された場合に iconv_substr() が切り出す文字列は、string
のoffset
番目の文字からはじまり、文字列の最後から数えてlength
文字分戻ったところまでとなります。offset
も負の場合、開始位置は 上で説明した方式で計算されます。 encoding
-
encoding
が指定されなかった場合、もしくはnull
の場合、文字セットは ini 設定 iconv.internal_encoding で定義された値とみなされます。offset
やlength
のパラメータは、常にcharset
で定義された 文字セットにおける文字数と判断されることに注意してください。 一方、substr() の場合はこれらの値を常に バイト数として判断します。
戻り値
文字列 string
の、
offset
と length
で指定された一部を返します。
もし string
が offset
の文字列長より短い場合は、false
が返されます。
string
が
offset
の文字数に等しい場合、
空文字列が返されます。
変更履歴
バージョン | 説明 |
---|---|
8.0.0 |
length と encoding は、nullable になりました。
|
7.0.11 |
string が
offset の文字数に等しい場合、
空文字列が返されます。
これより前のバージョンでは、この場合 false が返されていました。
|
User Contributed Notes 1 note
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