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つのファイルで定義すれば他のファイルでも扱うことができます

つまり、

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

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

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は上手く活用したいところです。呼び出し方がすべて「関数名を書くだけ」なので本当に楽になりますよ。

ちなみに、今回ご紹介したような使い方だけでなく、処理を止める時などにも真価を発揮するそうなので、興味がある方は調べてみてもいいかもしれませんね。

以上、ご参考までに!(`・ω・´)ゞ

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

注目 初めての就職・転職で失敗しないためのおすすめサービス一覧!

注目 失敗なし!au・docomoからmineo(マイネオ)へのMNP方法!

注目 【dマガジン】初回31日間無料で180誌以上の雑誌が読み放題!

この記事が良かったらいいね!最新情報が届きます!

この記事を書いた人:

WEBメディア「MORIAWASE」の運営者。求人広告会社の元施設長で、趣味は音楽制作(DTM)。育児に奮闘中です!

コメントを残す

CAPTCHA