ホームページ > バックエンド開発 > PHPの問題 > PHPでオブジェクトを配列に変換する方法

PHPでオブジェクトを配列に変換する方法

PHPz
リリース: 2023-04-12 15:37:26
オリジナル
769 人が閲覧しました

PHP では、配列はデータの保存と処理に便利なデータ構造であるため、オブジェクトを配列に変換する操作が頻繁に行われます。この記事では、PHPでオブジェクトを配列に変換する方法を紹介します。

PHP でオブジェクトを配列に変換する方法は非常に簡単で、オブジェクトを配列にキャストすることで実現できます。 (array) または json_decode() 関数を使用できます。

(array) 関数を使用して、オブジェクトを配列に変換します。 :

$obj = new stdClass();
$obj->name = "John";
$obj->age = 30;

$arr = (array)$obj;
print_r($arr);
ログイン後にコピー

これは出力します:

Array
(
    [name] => John
    [age] => 30
)
ログイン後にコピー
ログイン後にコピー

これは、キーがオブジェクトのプロパティ名で、値が対応するプロパティの値である連想配列を返すことに注意してください。オブジェクトに保護されたプロパティまたはプライベート プロパティがある場合、それらはアクセスできず、配列に変換されません。さらに、オブジェクトにメソッドがある場合、それらは含まれません。

json_decode() 関数を使用してオブジェクトを配列に変換します

強制的な型変換を使用したくない場合は、json_decode 関数を使用できます。 () オブジェクトを配列に変換する関数 配列にデコードされます。オブジェクトに対して json_encode() を呼び出して JSON 形式にエンコードし、 json_decode() を使用して配列に変換できます。

$obj = new stdClass();
$obj->name = "John";
$obj->age = 30;

$json_obj = json_encode($obj);
$arr = json_decode($json_obj, true);

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

これは、プロパティ名と値を含む連想配列に変換されます:

Array
(
    [name] => John
    [age] => 30
)
ログイン後にコピー
ログイン後にコピー

オブジェクトを配列にキャストすることは、json_decode( ) 関数 オブジェクトを配列に変換することの主な違いは、キャストは高速かつ簡単であるのに対し、JSON 解析にはより多くのシステム リソースが必要になることです。したがって、変換するオブジェクトが単純なオブジェクトであることがわかっている場合は、ダイレクト キャストの方が高速で便利ですが、より不規則で複雑なオブジェクトを配列に変換する必要がある場合は、JSON 解析を使用する方が適切な場合があります。

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

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