function関数を作る

PHPのfunctionを使ってオリジナルで関数を作る方法

 

PHPの関数って便利ですよね~あの関数って何だか知ってますか?
ざっくり説明すると、ある動きを先にまとめて、後からそれを呼び出し処理する方法です。
ながーーーいコードを書かずに手軽に処理できる素敵なアイデアです。

PHP側で既に用意されているモノも沢山あります。
文字を丸めたり削除したり1つの処理をしてくれるものが代表的です。

でも、自分のサイトだけよく使う処理ってあったりしませんか?
「カンマを消して全角を半角に直して文字数を調整して~」とか。
そんな複数の処理をまとめて、手軽に呼び出すことも出来るのです。

 

よく使う処理はファンクションにて呼び出しながら利用する

wordpressでもPHPのサンプルコードなんかにも、functionってよく見かけませんか?
あのfunctionというのが関数にあたるものです。

改行タグを削除して半角を全角(12345)に直して15文字取り出す

この処理をする場合、「preg_replace」と「mb_convert_kana」と「mb_substr」のPHP関数を使います。下記のようなコードになるでしょう。

$str = "改行タグ<br />を削除して半角を全角(12345)に直して15文字取り出す";
$str = str_replace( "<br />", "", $str );
$str = mb_convert_kana( $str , "N", 'utf-8' );
$str  = mb_substr( $str , 0, 15, "UTF-8");
echo $str;
/* 出力結果:改行タグを削除して全角(123 */

毎度毎度、この関数コードを書くのって面倒くさくないですか?私は面倒くさい!
それでは、functionを使って処理をまとめましょう!

自分オリジナルの関数 function

まず、実例を見てもらいます。見たら何となく分かりますw

function brzengomoji( $no01 ){
$no01 = str_replace( "<br />", "", $no01 );
$no01 = mb_convert_kana( $no01 , "N", 'utf-8' );
$no01  = mb_substr( $no01 , 0, 5, "UTF-8");
return $no01;
}
$str = "改行タグ<br />を削除して半角を全角(12345)に直して5文字取り出す";
echo brzengomoji($str);
/* 出力結果:改行タグを削除して全角(123 */

おわかり頂けただろうか・・・。

関数を作るよ。 function関数解説/その1

重要なことだけササッと解説。

function brzengomoji($no01){ ~ }

これが基本形です。
このコードを書くことにより、brzengomojiという関数が成立します。
そして、( ~ )の中に処理したい何かをいれて、続く{ ~ }で処理するというわけです。

関数を呼び出すよ。 function関数解説/その2

作った関数を呼び出す方法です。

echo brzengomoji($str);

brzengomoji()で呼び出すことが出来ます。()の中に処理したい文字列や数字などを入れます。
すると、PHPがbrzengomojiで定義されているfunctionを血眼になって探し当て処理をします。

もし、この時、brzengomojiという定義が見つからないとエラーとなります。
スペルミスなどに注意しましょう。

ちなみに、このfunctionはどこに記述してもPHPが探し当てて処理してくれます。

 

ファンクション関数をさらに便利に

functionに送る値はいくつでもOKです。
例えば、mb_convert_kanaを使用して、ある文字列は全角、ある文字列は半角にしたい。
そんなワガママな事があるかもしれません。その様な場合の方法です。

function kana( $kana01 , $kana02 ){
return mb_convert_kana($kana01, $kana02, 'utf-8');
}
$str01 = "半角123数字を全角にしたい!";
$str02 = "全角123数字を半角にしたい!";

echo kana( $str01 , "N" );
/*出力結果:半角123数字を全角にしたい!*/

echo kana( $str01 , "n" );
/*出力結果:全角123数字を半角にしたい!*/

ファンクション関数を作るときに与える値を2つに増やしています。この事で処理できる値が増え今回の場合、かな変換のオプションの変更が出来るようになっています。

こんな感じで、自分がよく使う決まった処理をfunction化することで無駄な作業がなくなり作業スピードもグンと上がることでしょう!

オリジナルfunction関数はプログラマーの財産です(`・ω・´)ゞ

投稿日: 2012/03/22
最終更新日: 2017/10/28
 
筆者のご紹介
角政典@moreiic
真性のお家大好きフリーランスです。プログラムよりご飯の方が断然好き!博多出身のデブデザイナー。インドアだけど遊んでくれる人募集中!
よく検索されてる記事