カスタム検索
トップページ >PHP入門 >定義済み関数

定義済関数

PHPには、あらかじめ定義されている便利な関数(function)がたくさんあります。

では、関数とは一体何なのでしょうか?関数(function)には、『機能』という意味があります。

前ページでは、var_dump()関数を使用してみました。var_dump()関数は、変数の情報を出力する『機能』を持っています。また、これまでに何度もechoを使って文字列を出力してきました。echoは、実際には関数ではありませんが、文字列などの値を出力する『機能』を持っているため、関数のようなものとも言えます。

このようなある特定の『機能』を持ったものが関数です。PHPには、あらかじめ用意されている関数が多くあります。特に、ウェブやメール等に関する関数が充実しているのはPHPならではといえるでしょう。

これらの関数をすべて覚えていくのはあまりに非効率的ですので、知らない、あるいは、あやしい関数に出会ったら本家(php.net)のマニュアルを参照してください。今後、このサイトでも定義済みの関数を使用していく予定です。できる限り、使用している関数については説明しようと思いますが、不明な点はマニュアルを参照してください。

定義済み関数を使ってみる

ともかく、何かの定義済み関数を使ってみましょう。本家のマニュアルを参照しながら、関数の使い方とマニュアルの見方を説明します。

まずは、strlen()関数を使ってみましょう。php.netのサイトで検索して該当するページに移動するか、関数リファレンスからstrlen()のページを開いて、参照しながら見てください。(http://www.php.net/manual/ja/function.strlen.php)

strlen()は、文字列の数をカウントします。以下は使用例です。

strlen_example.php
<?php
// 変数に値(文字列)を代入
$word "Hello World\n";

// strlen()で文字列をカウントし、$lengthに代入
$length strlen($word);

// $length(文字の数)を出力
echo $length;
strlen_example.phpの実行結果
12

『Hello World\n』の文字数12が表示されます(スペースも改行もカウントされます)。

マニュアルには、以下のような説明があります。

int strlen ( string $string )

まず、最初のintですが、これは『何の型が得られるのか』という意味で、関数としての処理で得られる値の型です。strlen()は文字数をカウントするのでint型(整数型)となります。このように関数で得られた値を『戻り値』と呼びます。また、値が得られることを『返す』という表現で表すこともあります。例えば、『strlen()関数はint型を返す』といった風にです。

PHPのマニュアルには、『mixed』という型が出現することがあります。これは、説明のために便宜的に使用されている型で、どのような型が返されるのか決まっていないことを表しています。例えば、戻り値はint型かもしれないし、float型かもしれないということです。

次に関数名『strlen』が続き、『()』内に処理すべき値を指定するようになっています。

『()』内の最初のstringは、指定する値の型を表しています。strlen()は文字の数をカウントする関数ですから、string型(文字列型)を指定するわけです。続く$stringが実際に指定する値になります。例では、$wordを指定しました。この指定する値のことを『引数』あるいは、『パラメータ』と呼びます。尚、引数には、直接値を指定しても構いません。

<?php
// strlen()で文字列をカウントし、$lengthに代入
$length strlen("Hello World\n");

// $length(文字の数)を出力
echo $length;

また、次のようにechoに続けての記述も可能です。

<?php
// strlen()で文字列をカウントして出力
echo strlen("Hello World\n");

もうひとつ、定義済み関数を使ってみましょう。使うのはstr_repeat()関数です。str_repeat()関数は、指定した文字列を指定した回数繰り返した値を返します。

str_repeat_example.php
<?php
// 変数に値(文字列)を代入
$word '-';

// 10回繰り返した文字列を$stringに代入
$string str_repeat($word10);

// $stringを出力
echo $string;
str_repeat_example.phpの実行結果
----------

PHPマニュアルには、次のように説明があります。

string str_repeat ( string $input, int $multiplier )

まず、str_repeat()は文字列型を返すことが分かります。そして引数は2つ指定し、最初の引数が文字列型で、繰り返す文字を指定します。2番目の引数は整数型で繰り返す回数を指定することになります。

PHPマニュアルの関数の見方については、PHPマニュアルの『関数の定義(プロトタイプ)を読むには』(http://jp2.php.net/manual/ja/about.prototypes.php)も参考にしてみてください。

PHPのマニュアルには、定義済みの関数が網羅されており、使用例が掲載されているものも多数あります。関数で遊んでみるのも楽しいと思います。

レンタルサーバーなら使えるねっと
CopyLeft 2010 PEABOX.COM サイト管理者に連絡