LoginSignup
0
0

More than 3 years have passed since last update.

php7.1から使える負の文字列オフセット

Posted at

php7.0以前までは、
$str[3] のように、 角括弧を使用してゼロから始まるオフセットを指定すると、
文字列内の任意の文字を取り出すことが可能でした。

ただ、php7.1からは負の値のオフセットも指定できるようになりました。

注意: PHP 7.1.0 以降では、負の文字列オフセットにも対応するようになりました。 これは、文字列の末尾からのオフセットを表します。 以前のバージョンでは、負のオフセットで読み込もうとすると E_NOTICE が発生し (空文字列を返します)、負のオフセットで書き込もうとすると E_WARNING が発生していました (文字列には何も手が加えられません)。

var_dump("abcdef"[-1]);
var_dump("abcdef"[2]);
var_dump("abcdef"[-3]);
出力結果
ーーーーー

string(1) "f"
string(1) "c"
string(1) "d"

単一文字の場合はsubstr()を使う必要がなくなりそうです。
複数の文字を取り出したり変更したりしたいときは、substr()を使用すればよいです。
ただ、個人的には第三者への可読性という意味ではsubstr()を使ってもいいのかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0