ホームページ > バックエンド開発 > PHPの問題 > PHP でオブジェクトを取得し、データ型を変換する方法

PHP でオブジェクトを取得し、データ型を変換する方法

PHPz
リリース: 2023-04-18 15:48:23
オリジナル
686 人が閲覧しました

PHP は一般的に使用されるバックエンド開発言語であり、Web アプリケーションの開発によく使用されます。 PHP ではオブジェクトや配列を操作することが多く、オブジェクトを JSON 文字列に変換したり、JSON 文字列をオブジェクトや配列に変換したりする必要がよくあります。この記事では、PHP でオブジェクトを取得し、それを JSON 文字列、配列、オブジェクトの配列などのさまざまなデータ型に変換する方法を説明します。

オブジェクトの取得

new キーワードを使用して、PHP でオブジェクトを作成できます。たとえば、次のコードを使用して、$person という名前の Person オブジェクトを作成できます。

class Person {
    public $name;
    public $age;
}

$person = new Person();
$person->name = '张三';
$person->age = 21;
ログイン後にコピー

上記のコードは、Person という名前のクラスを定義します。このクラスには、2 つの public があります。プロパティ name および age。その後、new キーワードを使用して person オブジェクトを作成し、それを $person 変数に保存します。 name 属性と age 属性の値をオブジェクトに設定します。それぞれ 'Zhang San'21 です。

オブジェクトを JSON 文字列に変換する

PHP では、json_encode() 関数を使用してオブジェクトを JSON 文字列に変換できます。たとえば、次のコードを使用して、$person オブジェクトを JSON 文字列に変換できます。

$person_json = json_encode($person);
ログイン後にコピー

上記のコードは、$person オブジェクトを JSON 文字列に変換します。文字列と結果は $person_json 変数に保存されます。結果は次のようになります。

{"name":"张三","age":21}
ログイン後にコピー
ログイン後にコピー

JSON 文字列を配列に変換

PHP では、json_decode() 関数を使用して JSON 文字列を配列に変換できます。たとえば、次のコードを使用して、前の手順で取得した $person_json JSON 文字列を配列に変換できます。

$person_array = json_decode($person_json, true);
ログイン後にコピー

上記のコードは、$person_json## を変換します。 # JSON 文字列を配列に変換し、結果を $person_array 変数に保存します。

2 番目のパラメーターが

true の場合、json_decode() はオブジェクトの代わりに連想配列を返すことに注意してください。したがって、$person_array 変数の値は次のようになります。

[
    'name' => '张三',
    'age' => 21,
]
ログイン後にコピー
JSON 文字列をオブジェクトに変換することは、JSON 文字列を配列に変換することと似ています。

json_decode()

関数を使用して、JSON 文字列をオブジェクトに変換することもできます。たとえば、次のコードを使用して、

$person_json JSON 文字列を Person オブジェクトに変換できます。

$person_obj = json_decode($person_json);
ログイン後にコピー
上記のコードは、$ を変換します。 person_json JSON 文字列は

person オブジェクトに変換され、結果は $person_obj 変数に格納されます。 2 番目のパラメータが false

であるか省略されている場合、

json_decode() はクラスが定義されていないオブジェクトを返すことに注意してください。したがって、デフォルトでは、$person_obj 変数の型は stdClass であり、オブジェクトのプロパティには次のようにアクセスできます。

$person_name = $person_obj->name;
$person_age = $person_obj->age;
ログイン後にコピー
配列をJSON 文字列 PHP では、

json_encode()

関数を使用して配列を JSON 文字列に変換することもできます。たとえば、次のコードを使用して、

$person_array 配列を JSON 文字列に変換できます。

$person_array_json = json_encode($person_array);
ログイン後にコピー
上記のコードは、$person_array 配列を JSON に変換します。文字列と結果は

$person_array_json 変数に保存されます。前の手順と同様に、$person_array_json の値は次のとおりです。

{"name":"张三","age":21}
ログイン後にコピー
ログイン後にコピー
配列をオブジェクト array に変換しますPHP では、

json_decode( )

関数は JSON 文字列を配列に変換します。この配列に複数の要素が含まれている場合、

foreach を使用して要素を反復処理し、オブジェクトに変換できます。 たとえば、次の JSON 文字列を使用して、複数の Person

オブジェクトを表すことができます:

[
    {"name":"张三","age":21},
    {"name":"李四","age":22},
    {"name":"王五","age":23}
]
ログイン後にコピー
この JSON 文字列をオブジェクト配列に変換するには、次のコードを使用できます。コード:
$persons_array = json_decode($persons_json);

$persons = [];
foreach ($persons_array as $person_data) {
    $person = new Person();
    $person->name = $person_data->name;
    $person->age = $person_data->age;
    $persons[] = $person;
}
ログイン後にコピー
上記のコードは、まず

json_decode()

関数を使用して

$persons_json JSON 文字列を配列に変換します。次に、空の配列 $persons を定義し、foreach を使用して $persons_array 内の要素、つまり各 person をループします。オブジェクト データ。 $person_data ごとに、新しい Person オブジェクトを作成し、そのプロパティ値を $person_data 内の対応する値に設定します。その後、オブジェクトを $persons 配列に追加すると、複数の Person オブジェクトを含む配列が作成されます。 結論

この記事では、PHP でオブジェクトを取得し、それを JSON 文字列、配列、オブジェクト配列などのさまざまなデータ型に変換する方法を紹介します。これらの操作は Web 開発でよく使用されるので、読者の役に立つことを願っています。

以上がPHP でオブジェクトを取得し、データ型を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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