配列をJSON形式に変換するPHP

王林
リリース: 2023-05-22 22:04:40
オリジナル
892 人が閲覧しました

Web 開発では、JavaScript などのクライアント スクリプトによるアクセスを容易にするために、データを JSON 形式でフロントエンドに返す必要があることがよくあります。 PHP では、json_encode() 関数を使用して、PHP 配列を JSON 文字列に変換できます。

次は例です。 $student という名前の PHP 配列を定義し、 json_encode() 関数を使用してそれを JSON 文字列に変換し、次を返します:

$student = array(
    'name' => 'Sam',
    'age' => 18,
    'school' => 'ABC High School'
);
$json_str = json_encode($student);
echo $json_str;
ログイン後にコピー

この時点の出力$json_str は JSON 形式の文字列です。

{
    "name":"Sam",
    "age":18,
    "school":"ABC High School"
}
ログイン後にコピー

ご覧のとおり、JSON 文字列はキーと値のペアの形式でデータを表し、中括弧を使用してデータ オブジェクト全体を表します。

配列がより複雑な場合は、json_encode() 関数の 2 番目のパラメーター $options を使用することもできます。これは、PHP 配列を JSON 文字列に変換することを指定できる制御オプションです。方法。以下は $options の一般的なオプションの一部です:

  • JSON_FORCE_OBJECT: PHP 配列を配列ではなく純粋なオブジェクト (オブジェクト) に変換します。
  • JSON_HEX_TAG: <、>、&、'、" などの文字を、対応する HTML エンティティに変換します。
  • JSON_PRETTY_PRINT: 読み取りに便利なように、生成された JSON 文字列をフォーマットして出力します。

次は例です。複数の学生に関する情報を含む $class という名前の PHP 配列を定義します。$options オプションを使用して PHP 配列を強制的にオブジェクトに取り込み、JSON_PRETTY_PRINT オプションを使用して出力のフォーマット:

$class = array(
    array('name' => 'John', 'age' => 17, 'school' => 'ABC High School'),
    array('name' => 'Mike', 'age' => 18, 'school' => 'DEF High School'),
    array('name' => 'Lucy', 'age' => 16, 'school' => 'GHI High School')
);

$json_str = json_encode($class, JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);
echo $json_str;
ログイン後にコピー

出力 JSON 文字列は次のとおりです:

{
    "0": {
        "name": "John",
        "age": 17,
        "school": "ABC High School"
    },
    "1": {
        "name": "Mike",
        "age": 18,
        "school": "DEF High School"
    },
    "2": {
        "name": "Lucy",
        "age": 16,
        "school": "GHI High School"
    }
}
ログイン後にコピー

つまり、PHP で配列を JSON 形式に変換するのは非常に簡単で、 json_encode() 関数を呼び出すだけです。同時に、$options オプションを使用して出力 JSON 文字列の形式を制御することもできます。

以上が配列をJSON形式に変換するPHPの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート