PHP関数の使い方

こんばんは。

早坂@magicalです。

今日はPHPのユーザー定義関数の使い方についてです。

ユーザー定義関数とはなんぞやってとこから入ります。

PHPではたくさんの関数が準備されています。

その代表格として「echo関数」がいます。

いわば文字列出力関数といわれていて、書き方としては以下の通りです。

例) echo “あいうえおっかさーん!” ;

こんなカンジ。

実はこれ隠れている部分があるんです。

その隠れているのは「()」なのです。

本来の使い方として

「echo( “あいうえおっとさーん!” ) ;」

なのです。

「()」に入るものは引数と呼ばれます。

その引数が意外と大事だったりします。

上の例で引数は何になるかといいますと、「あいうえおっとさーん!」です。

日本語で書いてみると、

文字列を出力するために{echo}というPHP標準関数を使って文字を出力してください!

といってることと同じなのです。

さぁさぁ原理を解説しましたとこでユーザー定義関数に入りましょう。

そもそもユーザー定義関数ってなんなのさ!という方に。

ユーザー定義関数というのは言葉通りユーザーがある結果が期待出来るための関数を作成することです。

すみません。日本語複雑になりました。

つまり、PHPには用意されていない関数を自分でつくっちゃおう!ということです。

PHPなどで用意されている関数は単純な物しかなかったりします。(echoもそうといえます)

複雑な処理(htmlの特定タグを抜き出したり)をするときに使ったりします(ほとんどの人がユーザー関数つかってますが。。。(笑))

さて、以下に簡単なユーザー関数を。

[] [/]

上記がユーザー定義関数です。

上記の場合はPHPが実行されたときに「printStr関数」が実行されます。

これがユーザー定義関数と呼ばれる関数の書き方です。

なにが違うの?と思いますでしょうが、ユーザー定義関数を作った場合は便利な動作を行わせるために複数の処理をまとめたものとと考えてもらえれば大丈夫だと思います。

echo関数だとわけが分かりづらいので、以下に「文字列をユーザー定義関数の引数として渡し、渡した文字を別な意味を持つ文字に変換」する例を書きます。



これは「住所」という文字をreplace2関数に渡したときに「住居」となって文字を表示します。

(普通はエラー処理を追加しておきます)

これを元にhtmlの特定部分を抜き出したりなどを行うことが出来ます。

googleのbotとかはこういった処理をマッハ3.5くらいの処理速度でおこなって、検索エンジンのDBに溜め込んだりしているかと考えられます。(実際のところgoogleさんの開発者は神様だらけなのでPHPとかで動かしてるかも不明ですが(^^;)

こういったユーザー関数をどんどん作って、自分専用のPHPを作ってみるのもいいかもしれません。

これで理解してもらえるとある目標の自信となりますです。

コメントいただけたらとびはねて喜びます。

あ、ちなみに、「preg_replace()」はPHP標準の関数で文字列を検索/置換する関数です。

めったに使いませんが、使ってみました。しかもマルチバイトに対して使っているのでご利用の環境によっては文字コード問題があります。

次回はユーザー定義クラスについてでございます。

お楽しみにしててください。