PHP文法の基礎 ユーザー定義関数 | デジキャットのライフログぶろぐ

デジキャットのライフログぶろぐ

アメブロアクセスアップ、ワードプレス、プログラミング等、ウェブ系の情報を配信しています。

phpプログラミング
$アメブロカスタマイズ徹底攻略請負人
PHPには定義されている関数がありその数は1000にも及びます。今まで見てきたのはこのあらかじめ定義されている関数で、内部関数(ビルトイン関数)といいます。

ユーザー定義関数とは


関数は内部関数だけでなく、独自に作ることもできます。それがユーザー定義関数と呼ばれるものです。
ユーザー定義関数の名前は自由に決めることができますが、例えばsayHello()など、ある動詞や名詞を組み合わせる場合、2番目の名詞の頭文字を大文字にするのが通例となっています。

ユーザー定義関数の書式


function【関数名】(引数){処理させたい内容を記述;}

この型で関数を定義し、{}の外で定義した関数を利用したりします。

サンプルスクリプトA


< ?php
//関数sayHelloに引数($a)を与えて、echoで出力するという独自関数。
function sayHello($a){
echo $a;
}
//↑の式で関数を定義し、下の式で実際に出力。
$b = 'Hello!World!';
sayHello($b);
?>

ブラウザで実行するとHello!World!と表示されます。

引数の値渡しと参照渡し


引数には値渡しと参照渡しの2種類があります。
引数の値渡し
通常、関数に対する引数は値(型)を定義しているのであって呼び出し先の変数はその変数の値がそのまま出力されます。

引数の参照渡し
関数に対する引数の前に&をつけるとその定義した関数の引数が参照され、定義した呼び出し元の変数が呼び出し先の変数に代入されます。

なんか説明がヘタクソなので実際にプログラムを見て雰囲気をつかんでみてください。
値渡しの場合。
< ?php
function getDrink($c){
$c = 'beer';
}
$d = 'water';
echo $d.':';
//引数を値渡し。
getDrink($d);
echo $d;
?>

表示結果はwater:water:です。

参照渡しの場合。
< ?php
//引数$cの前に&を記述。
function getDrink(&$c){
$c = 'beer';
}
$d = 'water';
echo $d.':';
//引数を参照渡し
getDrink($d);
echo $d;
?>

表示結果はwater:beerです。