【PHP】functionとは?入門者向けに解説!!

こんにちは。phpを学んでいると、

この処理なんとか効率よくまとめたいなぁ

そう思うことはありませんか?

このお悩みを解決する仕組みとしてプログラミング言語には関数という仕組みがあります。

そこで今回はphpの関数について、入門者の方向けに解説していきます!

関数と聞くと、「昔数学で聞いたことあるなぁ」と思い浮かべるかもしれません。中には数学苦手で関数に嫌悪感を持っている人もいるかもしれません。

ですがご安心ください!この記事では難しいプログラミング用語は一切出てきませんので、ハードルを下げて読んでいただけると幸いです。

関数とは?

関数とはプログラムのある処理をまとめておくことのできる仕組みです。

関数は入力値から値をもらい、指定した処理を実行し、実行結果を出力します。

プログラミングに馴染みのない人向けに表現するのであれば、「工場」のような役割をします。

自動車工場で例えるならば、工場(関数)はパーツ(入力値)をもらい、組み立て(関数内の処理)をして自動車(実行結果)を作るのと同じです。

工場の組み立ての流れをプログラムに置き換えたようなイメージですね!

phpで関数を使ってみる

関数のイメージを掴んだら次は実際にphpで簡単な関数を実装してみましょう。

関数を定義するにはfunctionを使用する

phpで関数を定義するには「function」という構文を使用します。

「function」は日本語訳でも関数という意味を持っています。それでは関数の構文をみていきましょう。

関数名は任意で設定することができます。

また、引数(ひきすう)には先ほどの自動車の例でいうパーツを、戻り値には自動車を入れるようなイメージです。

引数や戻り値に関しては後述の「引数とは?」を参照してください。

それではサンプルコードをみてみましょう。

上の「echo_text関数」は引数や戻り値を使わない最も単純な関数で、文字列「Hello World!!」を出力する仕様です。

今回は自動車の例でいうパーツを必要としない仕様なので引数はなくても問題ありません。

このように、自分で名前をつけて作成する関数のことをユーザー定義関数といいます。

注意
ただし、関数名の先頭に数字を入れることはできません!

関数を実行するには?

実は「function」で関数を作成しても、それはあくまで関数を定義しただけにすぎないので、実行には至りません

ブラウザを更新しても先ほどの「Hello World!!」は表示されません。関数の内容を実行するためには、定義するのと別で実行するためのプログラムを書く事が必要になります。

それでは実行するための構文をみていきましょう。

関数を実行するには、関数名を書いた後に ( ) を書くだけで実行できます。

先ほどのecho_text関数を例にすると、

となります。

 引数とは?

ここでは引数と戻り値についてお話します。

おさらいすると、

・引数:関数に入力する値
・戻り値:関数が処理した後の値

になります。

まずはサンプルの関数をみていきましょう。

こちらは引数「$v」に入れた数字を2乗にする関数の例です。そして戻り値は2乗にした数をreturnしています。

これで引数に入れた数を2乗にして出力する関数ができました。それでは実際にいくつかの数字を入れてsquare関数を実行してみましょう。

今回は定義したsquare関数に「2」「5」「10」を入れてそれぞれ出力してみました。

実行結果から引数に入れた値をそれぞれ2乗にして出力しているのがわかると思います。

このように、関数には引数という仕組みを実装することで任意の値に対して同じ処理を行うことができるんです!

複数の引数を設定することも可能

先ほど引数のお話をしましたが、引数は1つという決まりはありません!

必要に応じて引数を設定できます。

引数を追加する場合は「, (カンマ)」で区切ると追加することができます。

それではサンプルコードをみていきましょう。

サンプルのmultiple関数は3つの引数を掛け合わせて出力する仕様になっています。

今回は引数に「3」「5」「9」を入れてみました。関数を実行すると、3×5×9の135がブラウザに出力されていると思います。

このように、関数に引数を用意した場合は、実行する際も

というように記述して実行できます。

実はもともと用意されている関数も存在

さて、今までは自分で名前をつけて定義するユーザー定義関数を解説してきましたが、実はphpにはもともと実装されている関数もあるんです!

このもともと実装されている関数のことを組み込み関数、またはビルドイン関数と呼びます。

今回はphpの組み込み関数をいくつか紹介します!

今回は出力系の組み込み関数を紹介します。「えっ?どれ?」と思ったかもしれませんが、みなさんが当たり前のように使っている、テキスト出力の「echo」やデータ出力の「var_dump」はphpの組み込み関数になります。

また、出力系の組み込み関数は ( ) を省いても良いとされているので気づかない人も多いと思います。

これらはphpで予め定義されているため、みなさんが使用する前に「function」で定義する必要はありません

まとめ

今回はphpでfunctionを用いて関数を定義する方法から使用方法、ビルドイン関数までを解説していきました。

プログラムを書いていくにつれ、関数の便利さが分かってくると思います!

まずは簡単な関数から実装してみて、徐々に色々な機能を関数化してみましょう!

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?