【WordPressで覚えよう】PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)の違い

      2650文字

【WordPressで覚えよう】PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)の違い” width=”800″ height=”450″ class=”aligncenter size-full wp-image-8835″ /></p>
<p>
今回は、管理人もPHP学習し始めのときは混同していた、<strong>PHPの演算子「->」(オブジェクト演算子/アロー演算子)と「=>」(ダブルアロー演算子)についてです</strong>。この二つは似ていますが、使われ方が違います。とはいえ、混同しやすいのも事実。そこで、例文だけでなく、『実際にWordPressで動いているプログラム』なども見て、確認してみたいと思います。さっそく見ていきましょう。
</p>
<div id=

目次

phpの「->」と「=>」の、一般的な違いについて

phpの「->」(オブジェクト演算子/アロー演算子)→ オブジェクトのメソッド・プロパティにアクセスするとき使用

まずは、矢じりにシャフトが一本ついているような形の「->」(オブジェクト演算子/アロー演算子)について。これは『クラスとオブジェクト』みたいなプログラミングをやるときに使います(プロパティやメソッドアクセス)。マニュアルの表記だと『プロパティにアクセスするには -> (オブジェクト演算子) を使って $this->property のように 』という形です。

イメージ的には、例えばtechacademyマガジンに書いてあった例を使うと『お店っていうクラスがあって、その中に複数の値段や製品名情報、出力ファンクションが入っている』みたいな感じでしょうか(適切な例えかはわかりません)。『クラスとは』みたいなところも事前に読んでおくとよいでしょう。

https://www.php.net/manual/ja/language.oop5.properties.php

phpの「=>」(ダブルアロー演算子)→配列キーに値を入れるとき使用

矢じりにシャフトが二本ついているような形の「=>」(ダブルアロー演算子)は、アクセスというよりは『配列のキー・値を設定』するときに使われます。
例えば『$fruit = array(0 => “りんご”, 1 => “みかん”);』とか、パラメーター指定するときの『category__in’ => array( 2, 3 )』というような感じです。

なお、管理人はWP_Queryの指定とかでしょっちゅう使っていたんですけど、演算子の名前は最近知りました(笑)
配列とセットにしておくと忘れないでしょう。

https://qiita.com/UncleHoge/items/cbaca1447250f149d0d0

PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)WordPress 内での使われ方をチェック

WordPressユーザー向けにはなりますが、実際のプログラム内での使われ方をみてみると、この二つの区別がつきやすいかもしれません。特にテーマ改造やプラグイン開発をやっていきたい場合には必須になるとおもいます。実際に管理人がテーマ改造に利用した例を確認していってみましょう。

「->」はプラグイン独自クラスや、WP_Queryクラス・メソッドアクセスに使われることが多い

記事表示ループ内で使う『have_posts()』や『the_post()』をメソッドって呼んでいいかは不明でしたが、先日codexを見たところ『メソッド』と呼んでいたので、すとんと腑に落ちました。

例えば、管理人が作ったテーマで記事取得部分だと・・

このように「->」で『have_posts()』や『the_post()』メソッドにアクセスします(この書き方で記事を取ってループしてることは多いかも)。
『have_posts()』で判定して、『the_post()』でグローバル変数$postを設定、ここからpost_titleやpost_contentを取って表示→次の投稿でまた表示、という流れになっています。

「=>」は、記事取得などのパラメーター設定時に、配列で使う

「=>」はメソッドやプロパティアクセスではなく、配列でパラメーター指定するときに使いました。管理人がテーマにつけた2つの機能『カスタム投稿タイプ』と『新着記事取得』をみてみましょうか。


例えば『カスタム投稿タイプ』。キーが’label’のとき、値を’member-content’にしたいので、『’label’=>’member-content’』のように書きました。だいたいこういうのは、複数のパラメータが入る配列(array)になっています。


そのほか、『新着記事取得』でも、同様にキー&値の形・間にダブルアロー演算子という形で指定していきます。この書き方と、どういうパラメータがあるか押さえておけば、いろいろなケースに対応できます。

あとがき・まとめ

  • PHP「->」(オブジェクト演算子/アロー演算子)は、プロパティやメソッドのアクセス・呼び出しに使用
  • PHP「=>」(ダブルアロー演算子)→配列キーに値を入れるとき使用
  • WordPressユーザーは、WP_Queryクラスの配列パラメーターや、メソッドアクセスなどを見ると区別がつきやすい

まとめるとこういうところでしょうか。PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)は似ていますが、使われ方に明確に違いがあることが押さえていただけたと思います。WordPressユーザーの方は、実際にご自身が使っているテーマのプログラム部分も見てみると、より確実に押さえられるでしょう。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


【カテゴリ】 - PHP・データベースetc
【タグ】 - ,

  関連記事

【WordPressカスタムフィールド検索】meta_queryで、シリアライズ値が入ったフィールドを持つ記事をヒットさせるには?
【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
WordPress記事一覧ページの『本文からの抜粋』を表示する関数と、その文字数の調整方法をチェックする
【WordPress】記事文字数のカウント方法(コア機能・プラグイン)チェックと、フロントへの出力について
PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)
WordPressユーザーが覚えると便利な条件分岐~投稿記事・固定ページ指定して表示/非表示
侍エンジニア塾ブログにあったPHPコードをシンプルに書いてみる(foreachで配列キーや値取得・continueで空要素スキップ)
YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)
テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)
【PHP etc.プログラム学習サイトコードコピペ】全角引用符・バッククオートが入ってて動かない件に注意
【PHP】カウントダウン機能に使える?array_reverseで配列要素を逆に,パラメーター挙動&array_flipとの違い
【WPユーザー名バレ対策】ユーザー名表示からPHP・preg_matchでリダイレクト(wp-json/wp/v2/usersなど)