当サイトのリンクにはアフィリエイト広告が含まれています

PHPのreturnの使い方。関数化で別ファイルでも読み込める!

最近、WordPressオリジナルテーマを改良した時、「return」がすごく便利なことに気づきました。

今まで、使い所がよくわかってなかったんですが、今ではこれがないと色々と困るレベルです。

そこで今回は、returnの基本的な使い方から、実践で役立つ使い方までご紹介します。



returnの使い方

「return」は、文字通り何かを「戻す」ために使われます。

  • 文字列
  • 変数

など。基本的な形はこちら。

return 〇〇;

ただ、この形だと、「戻る場所」がありません。ですので、実際に使われる基本的な形はこのようになります。

function △△() {
   return 〇〇;
}

「△△という関数を定義し、〇〇を戻す処理をする」という意味です。この場合、〇〇は「関数△△の処理時の結果」に戻ります。

returnを使う場面

このreturn、いまいち使う場面がわからないと思うので、具体例を挙げながらご説明します。

例えば、変数testに「これはテストです」という文字列を入れます。

$test = 'これはテストです';

そして、変数testの中に入っている文字列を呼び出してみましょう。

$test = 'これはテストです';
echo $test;
//実行結果
これはテストです

はい。何の問題もありませんね。

では、変数testをAのファイルで定義し、Bのファイルで呼び出すにはどうすればいいでしょうか?

ファイルAで、

$test = 'これはテストです';

ファイルBで、

echo $test;

とやっても、同じ結果にはなりません。

なぜなら、変数testはファイルBで定義されていないからです。

「じゃあ、ファイルBで同じように定義すればいい」と思うかもしれませんが、変数testを100のファイルで呼び出すとしたらどうでしょう?面倒ですよね?

しかも、変数testの定義が変わった場合、100のファイルの定義もすべて修正する必要があります。

そこで、returnの出番です。

関数化すればすべてのファイルで使える

というのも、先ほどのようにreturnは基本的に関数化して使いますが、関数は1つのファイルで定義すれば他のファイルでも扱うことができます

つまり、

function get_test() {
  $test = 'これはテストです';
  return $test;
}

と、ファイルAで関数化してしまえば、

echo get_test ();

と、関数名を書くだけで、他のファイルでも変数の値を呼び出せるわけです。

グローバル変数や定数として定義する必要も、他のファイルで呼び出すための専用の処理も必要ありません。

…いかがですか?「returnすげー!」って思いませんか?僕は超感動しました(笑)

今回の例だと、簡単な変数を定義して、それを単純に呼び出しただけですが、

  • 関数の中で条件分岐
  • 配列を呼び出す
  • 関数の中で別の関数を呼び出す

など、実際はもっと複雑なことをやるので、処理がいくら複雑になっても別ファイルで簡単に呼び出せるreturnはかなり使いやすいですよ。

条件分岐も楽になる

また、returnを使うことにより、条件分岐もかなり楽になります。

サンプルコードがこちら。

if ( get_test() ) { // get_testに何かが入っていた場合
  echo get_test();
} else { // get_testに何も入っていなかった場合(nullの場合)
  echo '何も入力されていませんでした';
}

また、こんなこともできます。

if ( test_a() == 'テストa' ) { // 戻り値(返り値)が「テストa」の場合
  echo 'おはようございます';
} elseif( test_b() == 'テストb' ) { // 戻り値が「テストb」の場合
  echo 'こんにちは';
} else { // それ以外
  echo 'はじめまして';
}

処理を停止する時にもよく使う

returnをするとそこですべての処理が終了するので、処理を止める時にもよく使われます。

例えば、モバイルページの場合だけ処理をするという場合、通常は以下のようなコードを書くと思います。

function return_test() {
  if(is_mobile()) { //モバイルページの時だけ処理をする
    //処理内容
  }
}

上記のコードでも特に問題はありませんが、returnを使った方が可読性が良くなります。

function return_test() {
  if(!is_mobile()) return; //モバイル以外のページなら処理停止
  //処理内容
}

こういった方法はよく使われますので、ぜひ覚えておきたいところです。

まとめ

「関数や変数を定義したものの、どうやって呼び出すんだっけ…」という悩みがなくなるので、returnは上手く活用したいところです。

呼び出し方がすべて「関数名を書くだけ」なので本当に楽になりますよ。

以上、参考にしていただければ嬉しいです。


カテゴリー:プログラミング学習

シェフ

このサイト「Fantastech」を運営している人