iconv_substr

文字列の一部を切り出す

説明

stringfalse iconv_substr(
    string $string,
    int $offset,
    intnull $length = null,
    stringnull $encoding = null
)

文字列 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 が返されていました。

参考

  • substr
  • mb_substr
  • mb_strcut