- ベストアンサー
文字列'012345'の3番目の文字
を表示するのに <?php $str='01234567'; echo $str{3}; ?> <?php $str='01234567'; echo $str[3]; ?> というふうにしますが $str{3}を使うほうが望ましいのか $str[3]を使うほうが望ましいのか 教えてください
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考URL 文字列への文字単位のアクセスと修正 によると、 ”過去の互換性のため、配列括弧を使用することが可能です” とあります。 そういう意味で言うと、PHP5を使う場合には、{ }を使う方が望ましいと言えると思います。 PHP4で(も)動かすことが予想される場合には、逆に[ ]を使う方が望ましいのかも知れません のぞましいという意味で言うと、substr(mb_substr)を使うのが望ましいのかもしれません
その他の回答 (2)
- awazak
- ベストアンサー率36% (61/165)
ホントだ、表示されますね。失礼しました。 補足で $str= array(0,1,2,3,4,5,6,7); このような時は $str[3]を使うほうが正しいです。
お礼
ありがとうございます 配列の場合は[]にするしかないのでいいのですが 文字列の場合は古いバージョンとのコンパチのため []も認められているようですが やはり{}を使うのが筋ということですね
- awazak
- ベストアンサー率36% (61/165)
上記です。 <? $str='01234567'; echo $str{2}; ?> ちなみに echo $str{3}; ではなく echo $str{2}; です。 0番目と言う概念があるため。 下記の echo $str[3]; は配列の場合。 望ましいと言うか、表示されないはずですが、試しましたか? 配列は参考URLを見てみてください。
お礼
ありがとうございます []でも{}でも同じように表示されることは確認しています {}が望ましいということですね
お礼
ありがとうございます これからは{}のほうがよいということですね