上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[PHP] 関数

関数は、print()のようなあらかじめ用意されているものもたくさんあるが、ユーザが定義をすることもできる。
今回は、ユーザが定義する関数について考えていく。

特徴として、JavaやC言語などでは関数を定義する際、戻り値や引数の型を意識する必要があるが、PHPでは方は意識しなくてよい。



■基本形

 function 関数名() {
   処理を実装
 }

関数を定義する場合、function を先頭につけてあげます。
function のキーワードをもとに、そのブロックは関数として認識されます。



■戻り値がある場合

 function 関数名() {
   return(戻り値);
 }

return 句をしようして、戻り値をしていしてあげます。



■引数を指定する場合(値渡し)

 function funcname($arg) {
   $arg = 100;
   return $arg;
 }

単純に呼び出し側から値をもらって、その値を引数の$argにコピーしています。

なので、呼び出し側で以下のような実装をした場合、渡している引数の値は変わりません。

 $val1 = 300;
 $val2 = functionname($val1);
 print($val1);

出力結果は "300" になり、$val1が関数の呼出し前後で変更されていない。



■引数を指定する場合(参照渡し)

 function funcname(&$arg) {
   $arg = 100;
   return $arg;
 }

引数に"&"をつけることで参照渡しとなります。
その名の通り、値ではなくて値の保存されている場所(参照先)を引数で渡します。

なので、関数内で参照先の値を変えると呼び出し元の値を直接変更することになります。

 $val1 = 300;
 $val2 = functionname($val1);
 print($val1);

出力結果は "100" になり、$val1が関数内で変更されました。



■引数を指定する場合(複数指定)

 function funcname($arg1, $arg2, $arg3, ・・・) {
   処理を実装
}

引数を","で区切って複数指定することができます。



■引数を指定する場合(デフォルト値を指定)

 function funcname($arg = 100) {
  処理を実装
 }

このように引数のデフォルト値を指定することができます。
呼び出し側で該当する引数が指定されていない場合、デフォルト値がしようされます。

ちなみに、デフォルト値指定の後にデフォルト値でない引数を定義することはできないようです。




コメントの投稿

非公開コメント

プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。