PHPのアロー演算子(->)をできるだけ分かりやすく

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

PHPのコードでよく見かける矢印みたいな->この記号はなんなんでしょう?

googleで検索しても、記号だから引っ掛かりません。

これは「アロー演算子」と呼ばれる、オブジェクト指向でよく使われる演算子です。

 

アロー演算子って何?

アロー演算子は左辺から右辺を取り出す演算子

アロー演算子とはクラスのメソッドやプロパティにアクセスするための演算子です。

オブジェクト指向を理解していないと、なんのこっちゃ分かりませんね。

クラスは関数や変数がまとまった棚みたいなもんです。

メソッドはその棚に保管してある関数で、プロパティは変数のことです。

そこに入ってる値を取り出すみたいなイメージですね。

※実際にはもっと複雑なことをやりますが、趣旨が変わってくるためここでは割愛します。

アロー演算子を使うイメージ

以下はあくまでもこんな感じなんだよというイメージです。

こういう書き方はしません。

※オブジェクト指向はまた別項でやります。
class fruit {
$apple = “りんご”
$orange = “オレンジ”
$melon = “メロン”
}
fruit->$apple //りんご

「fruit」というクラスの中にある「$apple」という変数にアクセスして値を取り出します。

「fruit」という棚に「$apple」という引き出しがあって、その引き出しには「りんご」が入っていますので、その「りんご」を取り出すイメージですね。

だから、引っ張ってくる値は「りんご」になります。

※実際にはもっと複雑なことをやりますが、趣旨が変わってくるためここでは割愛します。

DataTimeクラスで日付を取り出す

アロー演算子を使ったサンプルとして、DataTimeクラスから日付を所定のフォーマットで取り出してみましょう。

結果

2015年11月14日

DataTimeクラスには日時やタイムゾーンが格納されていて、その中から日付を取り出すイメージですね。

DateTimeクラスの中身

ちなみにDateTimeクラスの中身は以下のようになっています。

結果

DateTime Object
(
[date] => 2015-11-14 11:05:14.000000
[timezone_type] => 3
[timezone] => Asia/Tokyo
)

上記のようなオブジェクトになっており、その中から日付を取り出しました。

 

オブジェクト指向でプログラミング効率も大幅にアップしますが、初心者には敷居が高いですね。

とりあえず、アロー演算子ってそういう意味なんだなくらいに知っておけばいいのかなと思います。

興味がある方は、本格的に習得してみてはいかがでしょうか。

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメント

  1. h_tGuchi より:

    いろんなページを見ていますが、素人の私にも一番分かりやすい説明でした。

    1. flatFlag より:

      ありがとうございます。そう言っていただけると励みになります。今後ともよろしくお願いいたします。

  2. na_haba より:

    JavaScriptのアロー関数と同じ感じの動きかなとざっくり考えてた疑問が解消しました🙂

    1. flatFlag より:

      コメント頂きありがとうございます。疑問が解決したとのことでお役に立てたようで嬉しい限りです。今後とも分かりやすい記事を作成していきますのでよろしくお願いいたします。

h_tGuchi へ返信する コメントをキャンセル

*