PHPのアロー演算子(->)をプログラマー初心者でもわかるように説明していく

PHPのコードで頻繁に目にする「->」という記号。

これは、「アロー演算子」と呼ばれる記号で、クラスから任意のオブジェクトを取得する際に用いられます。

演算子とは、数式やプログラミング言語で使われる記号・シンボルを指す言葉です。
PHPで代入を意味する「=」も、代入演算子と呼ばれる演算子です。

それでは、アロー演算子(->)について解説していきます。

なお、オブジェクト・インスタンス・クラスの違いがわからない方は、「オブジェクトとインスタンスって何が違うの?という初心者プログラマー向けの図解」から読んでください。

アロー演算子(->)はクラスから要素を取り出す記号

インスタンス

アロー演算子を正確に定義すると、次のようになります。

アロー演算子(->):左辺のクラスから、任意のオブジェクトを取得する記号。

まだ、なんとなく難しいですね。

では、アロー演算子をとても簡単なイメージで伝えると、おもちゃ箱(クラス)から好きなおもちゃ(オブジェクト)を取るための記号です。

例えば、おもちゃ箱(クラス)があり、特定のおもちゃ(オブジェクト)を取り出すときに、アロー演算子を用いることで簡単に取得できます。

イメージとして、簡単なコードで説明します。

※実際には、下記のような書き方はしません。


class car {
	$pink = "ピンクの車";
	$blue = "ブルーの車";
	$yellow = "イエローの車";
}
car->$car; // ピンクの車

上記のように、アロー演算子を使用すれば、特定のクラスから指定したオブジェクトを取得することができます。

アロー演算子(->)を実際に使ってみた

アロー演算子を使用したサンプルコード

では、アロー演算子を実際のコードで説明していきます。

今回は、PHPで頻繁に使われる「DateTime」というクラスを用いてサンプルコードを書いてみます。


$date = new DateTime(); // new は、DateTime というクラスからインスタンスを生成するためのコード
echo $date->format('Y-m-d H:i:s'); // 2014-08-06 21:15:49

上記のコードを説明すると、DateTimeというクラスから、newを用いて変数にインスタンスを生成します。

そして、変数にどの情報を出力するかを、アロー演算子で指定することで、インスタンスが出力されています。

ちなみに、DateTimeというクラスには予め情報が格納されており、上記の日付と時間以外にも、下記の情報が格納されています。


DateTime Object
(
	[date] => 2019-06-09 13:14:32.000000 // 現在時刻
	[timezone_type] => 3
	[timezone] => Asia/Tokyo // 現在地
)

実際に、DateTimeの情報を全て出力すると、上記のインスタンスが表示されます。

DateTimeクラスは頻繁に使うので、この機会に覚えておきましょう。

アロー演算子は頻繁に使うので、必ず覚えておきましょう!

大規模な開発になればなるほど、必要な知識です。

必ず覚えておきましょう。

Related