
WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。
PHPに限らずプログラミング言語には多くの関数が用意されています。関数は大きく2種類に分かれます。
1. 元々用意されている関数
2. 自分で作成した独自関数
あらかじめ準備されている関数が「1」。独自機能を実行する関数が「2」です。元々存在している関数をわざわざ作ると二度手間になるので状況に応じて「2」を作成していくのが一般的な使い方となります。
PHPで記述した独自関数functionを呼び出す方法について
上記の「1」を組込み関数、そして「2」はユーザー定義関数と呼ばれています。
(1)組込み関数
(2)ユーザー定義関数
まずは「組込み関数」のカンタンな例をご紹介いたします。
組込み関数
有名な関数にランダムで数字を作成する関数(rand)があります。
<?php
// 1〜5の数字を出力する
$num = rand(1, 5);
echo $num;
?>
上記では変数に一度代入していますが直接echoしてもOKです。
echo rand(1, 5);
実際に実行した結果は以下です。
実行するたびに「1〜5」の数字がランダムに出力されます。
数字が出力されるだけでは使いどころや意味もわかりませんがもし1〜3なら「1/3の確率で実行する処理」を作れますよね。仮にABテストの処理を作るなら「1と2」を指定して『1ならAを表示、2ならBを表示』とすれば関数が活かせます。ランダム関数はとても便利なので使う場面もさまざまです。
ユーザー定義関数
独自関数をユーザー定義関数と言います。
// 独自関数の例
function 独自関数名() {
//処理を書く
$変数 = '☆';
}
さきほどのランダム関数を使ってカンタンな独自関数を作った例が下記です。
<?php
// ユーザー定義関数を作る
function random_number_output() {
$num = rand(1, 5);
echo $num;
}
?>
ただ上記では「echo」が実行されません。ユーザー定義関数の呼び出しが必要です。
<?php
// ユーザー定義関数を作る
function random_number_output() {
$num = rand(1, 5);
echo $num;
}
// ユーザー定義関数を呼び出す
random_number_output();
?>
個別で作った「function」を動かすためには実行用の「呼び出し」が必要になるわけですね。上記の例で言えばユーザー定義関数を作った外側で呼び出し用の「random_number_output」があります。後ろに書く括弧やセミコロンはPHPでの記述ルールなので必須と覚えておきましょう。
半角の括弧 = ()
セミコロン = ;
functionに値を渡す方法
ちなみに「括弧の内側に値を指定」しておけばfunctionへ渡すことも可能です。
<?php
// ユーザー定義関数を作る
function random_number_output($n1,$n2) {
$num = rand($n1,$n2);
echo $num;
}
// ユーザー定義関数を呼び出す
random_number_output(1,5);
?>
しかし以下の書き方では値を渡せません。
<?php
// ユーザー定義関数を作る
function random_number_output() {
$num = rand($n1,$n2);
echo $num;
}
// ユーザー定義関数を呼び出す
$n1 = 1;
$n2 = 5;
random_number_output($n1,$n2);
?>
以下の通り出力は「0」となります。
もしユーザー定義関数を呼び出す前に“値を指定する”なら下記でなければなりません。
<?php
// ユーザー定義関数を作る
function random_number_output($n1,$n2) {
$num = rand($n1,$n2);
echo $num;
}
// ユーザー定義関数を呼び出す
$n1 = 1;
$n2 = 5;
random_number_output($n1,$n2);
?>
あらかじめユーザー定義関数を作っておけばいつでも呼び出せるので便利ですよね。実行したければfunctionを呼び出せばOK。状況に応じて変数へ値を代入して渡せば数字も好きな値に入れ替えられます。
まとめ
本日は「functionの基本的な書き方」をご紹介いたしました。
functionを書いて必要に応じて呼び出す構造はワードプレスでも共通です。プログラミングでは共通化できる機能は1箇所にまとめておくのが効率的なので適切なfunctionを作るようにしましょう。
・条件に合えばメールを送信するユーザー定義関数を作る
・データベース(合計数)を数えるためのユーザー定義関数を作る
・不要な文字をトリミングするためのユーザー定義関数を作る
もちろん、カンタンな機能であればユーザー定義関数をわざわざ作らなくても構いませんが、何度も呼び出す機能なのであれば準備しておくと効率化できます。実装する全体像から「よく使う機能」に関してはユーザー定義関数化するのがおすすめです。クラス(class)化する方法もあるのでまた別の機会に解説させていただきます。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する