文字列の最初の文字を取得したいのですが、これが$str[0]
うまく機能していることに気づきました。この表記法は一般に配列で使用されるため、これが「良い方法」であるかどうかはわかりません。この機能はあまりよく文書化されていないようですので、この表記法を使用してもあらゆる点で問題ないかどうか、皆さんに教えていただきたいと思います。
それとも、古き良きものに固執するべきでしょうかsubstr($str, 0, 1)
?
また、中括弧 ( $str{0}
) も機能することに気付きました。これはどういうことでしょうか?
ベストアンサー1
はい。文字列は文字配列として見ることができ、配列の位置にアクセスするには演算子を使用します[]
。通常、 を使用することにはまったく問題はありません$str[0]
(また、 メソッドよりもはるかに高速であることは間違いありませんsubstr()
)。
どちらの方法にも注意点が 1 つだけあります。最初の文字ではなく、最初のバイトが取得されるということです。これは、マルチバイト エンコーディング (UTF-8 など) を使用している場合に重要です。これをサポートする場合は、 を使用します。おそらく、今日ではマルチバイト入力を常に想定する必要があるため、これが最善のオプションですが、若干遅くなります。mb_substr()