関数の定義(プロトタイプ)を読むには

各関数についてクイックリファレンスが記述されているので、 マニュアルを読み理解するノウハウは PHP の利用をより簡単にしてくれます。 例示やカットアンドペーストに頼るより、関数の定義(プロトタイプ)を 読む方法を覚えるべきです。やってみましょう:

注意: 前提条件: の基本的な理解

PHP は型についてルーズな言語ですが、重要な意味があるので、 の基本を理解することは重要です。

関数の定義には戻り値が どんな型であるかが示されています。最初の例として、 strlen()の定義を考えてみましょう。

strlen ( string $string ) : int
 
(PHP 4, PHP 5, PHP 7)
 strlen -- 文字列の長さを得る
 
 説明
int strlen ( string $string )
 
指定した文字列の長さを返します

関数の定義の説明
Part 説明
strlen 関数の名前
(PHP 4, PHP 5, PHP 7) strlen()は PHP 4 と PHP 5、そして PHP 7 のすべてのバージョンで使用できる
( string $string ) strlen() 関数の最初の(この場合は唯一の)引数が stringという名前であり それは文字列である
int 関数が戻す値の型。ここでは整数型 (文字列の長さが数字で数えられている)

上の関数定義は、一般的な書き方では以下のようにも書けます。

     function name    ( parameter type   parameter name ) : returned type

多くの関数は複数の引数を取ります。例えば in_array()。 このプロトタイプは次のようになります:

      in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool

これは何を意味しているのでしょう? in_array() は boolean の値を返します。 成功した場合は true(needlehaystack の中にある場合)、失敗した場合に false を返します (needlehaystack の中にない場合)。最初の引数は needle と名づけられており、それは多くの違ったをとることができます。その場合"mixed"と 呼ばれます。 needle (我々が探しているもの)はスカラー値(文字列,整数, 又は float)でも、 配列でもかまいません。 haystack (対象を探す配列)は二番目の引数です。 三番目のオプションの引数は strict と名づけられています。全てのオプション引数はデフォルト値を持ちます。 デフォルト値が不明な場合、? と表示されます。 strict パラメータはデフォルトでは boolean の false であるとマニュアルに述べられています。機能の詳細については 各関数のマニュアルをご覧ください。

さらに、& (アンパサンド) 記号を関数のパラメータの前につけると、 そのパラメータをリファレンス渡しにすることができます。

       preg_match ( string $pattern , string $subject , array &$matches = null,
       int $flags = 0 , int $offset = 0 ) : int|false

この例では、三番目のオプションのパラメータ &$matches がリファレンス渡しとなります。

より複雑なバージョンとの関係を有する関数もあります。以下が html_entity_decode() の例です。


(PHP 4 >= 4.3.0, PHP 5, PHP 7)

これは、この関数が PHP 4.3.0 以降のバージョンでのみ利用可能であることを意味します。

add a note add a note

User Contributed Notes 1 note

up
5
php dot devel at homelinkcs dot com
19 years ago
More specifically, an ampersand (&) prepended to an argument name means that the argument will be passed by reference (http://www.php.net/manual/en/language.references.pass.php).
To Top