PHP文字列jsonから配列オブジェクト配列へ

PHPz
リリース: 2023-05-07 15:59:08
オリジナル
470 人が閲覧しました

PHP を使用して Web アプリケーションを開発する場合、多くの場合、文字列 JSON を配列またはオブジェクト配列に変換する必要があります。 JSON は Web 開発で一般的に使用されるデータ形式の 1 つであるため、JSON を配列またはオブジェクト配列に変換することは非常に一般的な操作です。

この記事では、PHPで文字列JSONを配列またはオブジェクト配列に変換する方法を紹介します。

  1. json_decode 関数を使用して JSON を配列に変換する

PHP には、JSON 文字列を配列に変換できる組み込み関数 json_decode() があります。オブジェクトの配列。

この関数には 2 つのパラメータがあります:

(1) String JSON: 変換する必要がある JSON 文字列。

(2) Boolean assoc: デフォルト値は false で、オブジェクト配列が生成されることを意味します。このパラメータを true に設定すると、連想配列が生成されます。

これは簡単な例です:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "city":"New York"}';

// 将JSON字符串转换为关联数组
$arr = json_decode($jsonStr, true);

// 输出数组内容
print_r($arr);
?>
ログイン後にコピー

出力結果:

Array
(
    [name] => Tom
    [age] => 30
    [city] => New York
)
ログイン後にコピー
  1. JSON をオブジェクト配列に変換します

連想配列は必要ありませんが、オブジェクトの配列が必要です。assoc パラメーターを false に設定するか、渡さないことができます。

これは例です:

<?php
// JSON字符串
$jsonStr = '[{"name":"Tom", "age":30}, {"name":"Jerry", "age":35}]';

// 将JSON字符串转换为对象数组
$objArr = json_decode($jsonStr);

// 输出对象数组内容
foreach($objArr as $obj) {
    echo "Name: " . $obj->name . ", Age: " . $obj->age . "\n";
}
?>
ログイン後にコピー

出力結果:

Name: Tom, Age: 30
Name: Jerry, Age: 35
ログイン後にコピー
  1. JSON 文字列をネストされたオブジェクトと配列のオブジェクト配列に変換します

場合によっては、JSON 文字列にネストされたオブジェクトと配列が含まれる場合があり、再帰関数を使用してそれらをオブジェクト配列に簡単に変換できます。

これは簡単な例です:

<?php
// JSON字符串
$jsonStr = '{"name":"Tom", "age":30, "address":{"city":"New York", "country":"USA"}, "friends":["Jerry", "Kate"]}';

// 将JSON字符串转换为对象数组
$obj = json_decode($jsonStr);

// 递归地将嵌套的对象和数组转换为对象数组
function object_to_array($obj) {
    if(is_object($obj)) $obj = (array)$obj;
    if(is_array($obj)) {
        foreach($obj as $key=>$val) {
            $obj[$key] = object_to_array($val);
        }
    }
    return $obj;
}

// 输出对象数组内容
$objArr = object_to_array($obj);
print_r($objArr);
?>
ログイン後にコピー

出力結果:

Array
(
    [name] => Tom
    [age] => 30
    [address] => Array
        (
            [city] => New York
            [country] => USA
        )

    [friends] => Array
        (
            [0] => Jerry
            [1] => Kate
        )

)
ログイン後にコピー

概要

この記事では、PHP で文字を変換する方法を紹介しました 文字列の変換JSON を配列またはオブジェクト配列に変換します。 json_decode() 関数を使用して JSON を配列に変換する場合でも、JSON をオブジェクトの配列に変換する場合でも、非常に簡単かつ楽に行うことができます。 JSON 文字列にネストされたオブジェクトと配列が含まれている場合は、再帰関数を使用してオブジェクト配列に変換することもできます。 JSON データを使用する必要がある場合、これらのテクニックはプログラミング作業を簡素化し、生産性を向上させるのに役立ちます。

以上がPHP文字列jsonから配列オブジェクト配列への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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