独立系プログラマーのノウハウ

PHPの"="と"->"の意味

PHPの"="と"->"の意味

PHPのソースコードを記述する際に、"="と"->"の区別がつきません。どのような場合に"="を使い、どのような場合に"->"を使うのでしょうか?


というご質問を頂きました。


まず、「=」は「右辺の実行結果を左辺に代入する」という意味になります。

例えば、以下のようなコードがあった場合、

$kekka = 1 + 2;

$kekkaという変数には「1+2の実行結果」つまり「3」という数値が代入されます。


そして、今回の課題にある以下のコードの場合は、

$stmt = $pdo->prepare("INSERT INTO reminder (title, remind_date) VALUES (:title, :remind_date)");

右辺にある「$pdo->prepare("INSERT INTO reminder (title, remind_date) VALUES (:title, :remind_date)")」
の処理結果が、$stmtという変数に代入されることになります。


次に、「->」は、PHPのクラスの持つ機能(プロパティやメソッド)を
呼び出す時に使用します。

例えば以下のようになります。

$pdo->prepare(...);
$stmt->bindValue(...);

$pdoや$stmtという変数は、PHPの「クラス」というものであり
上記のようにすることで

「$pdoのprepareというメソッドを呼び出す」
「$stmtのbindValueというメソッドを呼び出す」

という意味になります。


したがって、このコードの意味は
$stmt = $pdo->prepare("INSERT INTO reminder (title, remind_date) VALUES (:title, :remind_date)");

$pdoクラスの「prepare」というメソッドを実行し、
その処理結果を$stmtという変数に入れる。

という意味になります。

この記事を読んだ人はこんな記事も読んでいます。