mb_get_info

関数の概要

mb_get_infoは、PHPのmbstring拡張モジュールにおいて、現在のマルチバイト設定情報を取得するための関数です。mbstringの内部設定や状態を確認したいときに利用します。文字エンコーディングの設定や変換設定など、mbstringの動作に関する詳細情報を取得できます。

パラメータの説明

  • type(省略可): 取得する情報の種類を文字列で指定します。デフォルトは "all" で、全ての情報を取得します。

主なtypeの値:

  • "all" – すべてのmbstring設定情報
  • "func_overload" – 関数のオーバーロード状態(整数値)
  • "language" – 言語設定(文字列)
  • "internal_encoding" – 内部文字エンコーディング
  • "mail_charset" – メール送信時の文字セット
  • "mail_encoding" – メールエンコーディング方式
  • "http_output" – HTTP出力変換の設定

戻り値

指定したtypeに応じた情報を返します。"all"の場合は連想配列として、その他の値の場合は対応する型(文字列や整数など)で返します。

失敗した場合は、FALSEを返します。

使用例

基本的な使い方:全ての設定情報を取得

<?php
$info = mb_get_info();
print_r($info);
?>

mbstringの現在の設定が連想配列で取得できます。内部エンコーディングや言語などの詳細が含まれます。

特定のパラメータ(内部エンコーディング)だけ取得

<?php
$encoding = mb_get_info("internal_encoding");
echo "内部文字エンコーディングは: " . $encoding;
?>

内部で使用される文字コードを簡単に確認できます。

関数オーバーロード状態を確認

<?php
$overload = mb_get_info("func_overload");
echo "関数オーバーロードの状態: " . $overload;
?>

mbstringの関数オーバーロード設定を整数値で取得し、文字列関数がmbstring版に置き換えられているかどうかを判断できます。

関連する関数

  • mb_internal_encoding() – 内部文字エンコーディングを設定・取得
  • mb_http_output() – HTTP出力文字コードの設定・取得
  • mb_language() – 言語設定の指定・取得
  • mb_send_mail() – マルチバイトメール送信関数
  • mb_check_encoding() – 文字列のエンコーディング検査

まとめ

mb_get_info関数は、mbstringの内部設定を確認するのに便利な関数です。現在の文字コード設定やオーバーロード設定など、マルチバイト文字処理の状態を取得できるため、動的に設定を把握したい場面で役立ちます。複数のパラメータを使い分けて必要な情報だけを取得することも可能です。PHPでマルチバイト文字列を扱う際の動作検証やトラブルシューティングにも重宝します。