はじめに関数の仕様変更の可能性についてPHPが提供する関数の仕様は、バージョンアップするごとに微妙に変わってたりします。 当ミニリファレンスに記載した内容は、執筆時点と閲覧時点とで、PHPのバージョンが異なる可能性が大であり、その間に関数の仕様が変更されてしまっているかもしれません。 なので、最終的には自分で確認して下さい。 マルチバイト文字列関数についてシングルバイト文字とマルチバイト文字文字には、「シングルバイト文字」と「マルチバイト文字」という2つの種類が存在します。 1文字を表現するのに必要なバイト数が1バイトである文字を「シングルバイト文字」と言い、必要なバイト数が複数バイトである文字を「マルチバイト文字」と言います。 「a,b,c」等のアルファベット(半角)は「シングルバイト文字」(文字コードによっては「マルチバイト文字」である場合もある)で、「あ、い、う」等の日本語は「マルチバイト文字」です。 1バイトは8ビットであり、8個の「0」と「1」で表現できる組み合わせは256通りしかなく、漢字を含めた日本語を表現し切れません。その為、ひらがなや漢字等の文字は1文字表現するのに複数バイト使用しています。 幾つかの文字コードの「マルチバイト文字」は、マルチバイト文字の始まりと終わりを表す情報が付加されていて、文字列を処理する「文字列関数」で処理すると文字が破壊されてしまう可能性があります。 そんなこんなで、文字列関数で日本語を処理すると正常に機能しません。で、日本語を処理するために「マルチバイト文字列関数」がモジュールとして用意されています(「PHPのインストール/PHPのインストールと設定::PHP拡張モジュールを有効にする」のページでインストールしました)。 日本語を処理する時はこの「マルチバイト文字列関数」を使う事になります。 ちなみに、「マルチバイト文字列関数」の関数名は全て「mb_」で始まります。 文字エンコーディング(文字コード)に関する事PHPファイルの文字コードは「EUC-JP」にする一部の関数では、正常に機能しない文字エンコーディング(文字コード)があります。PHPで動作するエンコードとそうでないエンコードは以下のようになっています。
このような事から、ここでは、PHPスクリプトを記述するファイルの文字コードを「EUC-JP」にします。 しかしながら、IEのデフォルトエンコード(文字コード)が「シフト JIS」になっているので、日本語を出力した場合に文字コードの相違によって文字化けを起こします。 この問題を解決するには文字コードが「EUC-JP」であるとブラウザに知らせるなりする必要があります。これには以下の様な方法があります。 (A)HTMLの「meta」要素で文字コードに「EUC-JP」を指定する。
(B)「
(C)「
PHPファイルの文字コードを「EUC-JP」にするテキストファイルの文字コードを変換するには、変換したい文字コードに対応したテキストエディタが必要になります。 Windows付属の「メモ帳」や「ワードパッド」は、文字コードが「shift_jis」固定なので、使えません。Vector辺りでお気に入りを見付けて下さい。ちなみに、少々値が張ります(アカデミックライセンス等(無料)もあります)がEmEditor(管理人愛用)がお勧めです。 PHPスクリプトを記述したファイルを保存する際、文字コードに「EUC-JP」を指定すればOKです。 リファレンスの見方関数の形態や機能は以下のように記述しています。
関数名の前にある「string」等は、「関数が返す値の型」です。 引数内の、各引数の前にある「string」等は、「引数の型」です。 「引数の型」が「mixed」である場合は、「引数の型が多様である」事を意味します。 「引数の型」が「number」である場合は、「引数の型」が「integer」もしくは「float」である事を意味します。 引数の「[](各括弧)」で括られている個所は「省略可」である事を意味します。 引数内に「void」とある場合は、「引数が必要無い」事を意味します。 作成日:2004年06月09日 最終更新日:2004年06月10日
【通常モード で表示】
|