PHPで関数と引数を使う方法【初心者向け】

PHPで【関数と引数】を使う方法をプログラミング初心者向けに解説した記事です。「関数」は、処理をひとまとめに定義して使い回す際に使い、「引数」は関数を引き出すときに渡す値のことを指します。サンプルコードも用意しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

プログラミング初心者向けに、PHPの基礎を紹介する記事です。

今回は、PHPの関数引数(ひきすう)について解説します。

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

また、開発環境はXAMPPを使っています。

そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。

 

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

関数とは

PHPの変数は、ひとつの値や文字列などのデータを使い回すというものでした。関数はもっと大きな範囲——処理をひとまとめに定義して使い回すのに使います。

 

プログラムを書いていくと、たとえば「メールを送る」といった決まった処理をさまざまなところで使いたい場合がでてきます。そういう時のために、よく使う処理をひとまとめにしておくと便利です。

 

大石ゆかり

田島メンター!関数というのは、何でしょうか。

田島悠介

変数に入っている値を加工したり、登録したり、表示したりとか動きのある処理をするものかな。自分で関数を作ることも出来るんだよ。

大石ゆかり

自分でオリジナルの関数を作ることも出来るんですねー。

田島悠介

そうなんだ。では、実際に書いてみよう!

 

実際に関数を書いてみよう

関数でまとめるときは、functionを使って次のように定義することができます。

function 関数名( ){
 処理
}

 

では、実際に書いていきましょう。

まず、関数として定義したい処理を書きます。

$name = “山田”;
echo “私の名前は” . $name . “です。<br>”;

 

この処理を関数を使ってまとめてみます。

<?php
function outputName( ){
$name = “山田”;
echo “私の名前は” . $name . “です。<br>”;
}
?>

 

しかし、これを出力しようとしても何も表示されません。なぜなら、処理をまとめただけで、まだ実行していないからです。

 

実行するために関数名を呼び出してあげる必要があります。

下記のように書きます。

<?php
function outputName( ){
$name = “山田”;
echo “私の名前は” . $name . “です。<br>”;
}
outputName( );
?>

 

すると、このように出力されます。

私の名前は山田です。

 

もちろん、この処理は何度でも呼び出すことができます。

<?php
function outputName( ){
$name = “山田”;
echo “私の名前は” . $name . “です。<br>”;
}
outputName( );
outputName( );
outputName( );
?>

3つ書いてるので、3つ出力されました。

私の名前は山田です。私の名前は山田です。私の名前は山田です。

このように、関数を使えば、ひとつの処理をまとめて、いろいろな場所で何度でも使い回すことができます

 

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

関数における引数とは

続いて、引数についても学んでいきましょう。

基本的に同じ処理を何度でも繰り返すことができる関数ですが、たとえば、同じメールを何通も送るにしても、宛名だけ変えたいという場合もありますよね。そこで登場するのが引数です。

 

引数とは、プログラムのなかで、関数を引き出すときに渡す値のことを指します。

どういうことか、イメージしづらいと思うので、プログラムを見ながら説明していきましょう。

 

まず、さきほどのプログラムを次のように書き換えます。

<?php
function outputName($name){
echo “私の名前は” . $name . “です。<br>”;
}
outputName(“山田”);
?>

 

$name = “山田”; の一行を消し、かわりに、最後の呼び出しのときに 山田 を定義し、関数側に渡すことで、処理を引き出しています。図でイメージすると、このような感じです。

変数が渡される順番

 

このように引数を使えば、次のように処理は同じでも、一部分だけを変えて書き出すことができます。

<?php
function outputName($name){
echo “私の名前は” . $name . “です。<br>”;
}
outputName(“山田”);
outputName(“鈴木”);
?>

 

するとこのように出力されます。

私の名前は山田、鈴木

 

また、引数はひとつだけとは限らず、複数の値を定義することができます。「,」や「.」を使う場所に気をつけて書いてみましょう。

<?php
function outputName($last_name, $first_name){
echo “私の名前は” . $last_name . $first_name . “です。<br>”;
}
outputName(“山田”, ”太郎”);
outputName(“鈴木”, ”次郎”);
?>

 

この場合はこのように出力されます。

私の名前は山田太郎です鈴木次郎です

 

おわりに

関数と引数についての解説は以上です。

このように、関数と、関数に伴う引数を使えば、処理をまとめておき、いろいろなところで使いまわすという便利な使い方ができます。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。

 

大石ゆかり

関数は引数を取ることが出来るんですね。

田島悠介

そうだね。自分で定義した関数でもそうだけど、後で再利用出来るし、違う値を引数にして、同じ処理なんだけど違う結果を返すことも出来たりするんだ。

大石ゆかり

関数は、一種のひな形やテンプレートみたいなものですか?

田島悠介

そうとも言えるね!関数化することで、再利用出来る以外にも、ソースコードの見通しも良くなるんだ。

 

PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか?

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。