ホームページ > バックエンド開発 > PHPの問題 > PHP におけるオブジェクトと配列の間の型変換について説明します。

PHP におけるオブジェクトと配列の間の型変換について説明します。

PHPz
リリース: 2023-04-19 10:36:22
オリジナル
628 人が閲覧しました

PHP では、オブジェクトを配列に変換できます。使いやすいようにオブジェクト内のプロパティを配列に変換する必要があることが多いため、この型変換は非常に一般的です。この記事では、PHP におけるオブジェクトと配列の間の型変換について説明し、一般的に使用されるメソッドをいくつか紹介します。

オブジェクトを配列に変換する

PHP では、get_object_vars() 関数を使用してオブジェクトを配列に変換します。この関数は、オブジェクトのプロパティとプロパティ値を含む配列を返します。キーはプロパティ名、値はプロパティ値です。たとえば、複数のプロパティを持つオブジェクトを定義し、それを配列に変換できます。

class Person {
    public $name = '';
    public $age = '';
    public $email = '';
}

$person = new Person();
$person->name = 'Jack';
$person->age = 25;
$person->email = 'jack@example.com';

$person_array = get_object_vars($person);

print_r($person_array);
ログイン後にコピー

出力は次のようになります。

Array
(
    [name] => Jack
    [age] => 25
    [email] => jack@example.com
)
ログイン後にコピー

上に示すように、 人を作成します。 オブジェクトと 3 つのプロパティ (nameageemail) が設定されています。次に、get_object_vars() 関数を使用して、このオブジェクトを配列に変換します。

配列をオブジェクトに変換する

配列をオブジェクトに変換することもできます。この操作を実現するには、PHP で (object) 型変換を使用します。このメソッドは連想配列で動作し、配列のキーがオブジェクトのプロパティ名になり、配列の値がオブジェクトのプロパティ値になります。

$data = array(
    'name' => 'Tom',
    'age'  => 22,
    'email' => 'tom@example.com'
);

$person = (object) $data;

print_r($person);
ログイン後にコピー

出力結果は次のとおりです。

stdClass Object
(
    [name] => Tom
    [age] => 22
    [email] => tom@example.com
)
ログイン後にコピー

上に示すように、連想配列 $data を作成し、(object)# を使用しました。 ## 関数を使用してオブジェクトに変換します。変換後に取得されるオブジェクト型は stdClass で、これは組み込みの標準型です。

配列とオブジェクトの混合

PHP では、配列とオブジェクトを相互に変換したり、一緒に使用したりできます。たとえば、オブジェクトを配列に変換し、そのプロパティの一部を変更してから、元のオブジェクトに戻すことができます。これは、API から返された JSON データを変更し、それを JSON 形式にシリアル化して返す必要がある場合など、場合によっては特に便利です。

$data = '{"name":"Tom","age":22,"email":"tom@example.com"}';
$person = json_decode($data);

$person_array = get_object_vars($person);

$person_array['age'] = 23;

$person = (object) $person_array;

echo json_encode($person);
ログイン後にコピー
出力結果は次のとおりです。

{"name":"Tom","age":23,"email":"tom@example.com"}
ログイン後にコピー
上に示したように、まず

json_decode() 関数を使用して JSON 形式の文字列をオブジェクトに変換します。次に、オブジェクトを配列 $person_array に変換し、その中の値を変更します。最後に、(object) 型変換を使用して、変更された配列をオブジェクトに再変換し、json_encode() 関数を使用してオブジェクトを JSON 文字列形式にシリアル化します。

結論

PHP では、オブジェクトと配列の変換は非常に一般的な型変換です。

get_object_vars() 関数を使用してオブジェクトを配列に変換し、(object) 型変換を使用して配列をオブジェクトに変換します。この型変換は非常に実用的で、多くのプロジェクトで使用できます。 PHP でオブジェクトと配列を変換する必要がある場合は、これらのメソッドが役立つはずです。

以上がPHP におけるオブジェクトと配列の間の型変換について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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