PHP は、強力なオブジェクト指向機能を備えた非常に便利なプログラミング言語です。 PHP では、オブジェクトを配列に簡単に変換できます。この記事では、PHP でオブジェクトを配列に変換するさまざまな方法を紹介します。
1. get_object_vars() 関数を使用する
get_object_vars() は PHP 組み込み関数で、オブジェクトのすべての属性とその値を取得し、配列を返すために使用されます。 。この関数の構文形式は次のとおりです。
array get_object_vars ( object $object )
ここで、$object は変換されるオブジェクトを表します。
次のサンプル コードは、オブジェクトを配列に変換する方法を示しています。
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = get_object_vars($myObj); print_r($arr);
ここでは、オブジェクト $myObj がクラス MyClass を通じて作成され、get_object_vars() 関数を使用して配列$ に変換されます。 arr を実行し、最後に配列をコンソールに出力します。
結果は次のとおりです:
Array ( [name] => 张三 )
ご覧のとおり、$age 属性と $sex 属性のアクセス権限が異なるため、$name のみが配列に変換されます。
2. 型キャスト (型変換) を使用する
組み込み関数の使用に加えて、PHP の型変換構文を使用してオブジェクトを配列に変換することもできます。型変換構文では、(array)、(string)、(int) など、変換するデータ型の名前を変数の前に追加します。
次のサンプル コードでは、(array) を使用してオブジェクトを配列に変換します。
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $arr = (array) $myObj; print_r($arr);
前の例との違いは、オブジェクト $myObj を配列に変換するときの点です。 、we (配列) 型変換構文が使用されます。
上記のコードを実行すると、前に示した配列と同じ出力が得られます。
3. json_decode() 関数を使用する
get_object_vars() と型キャストの使用に加えて、json_decode() 関数を使用してオブジェクトを配列または連想配列に変換することもできます。
json_decode() 関数は JSON 文字列を PHP 配列または連想配列に変換できるため、オブジェクトを JSON 文字列にシリアル化してから json_decode() 関数を使用して逆シリアル化すると、オブジェクトを配列または連想配列に変換できます。配列。
次のサンプル コードは、このプロセスを示しています。
class MyClass { public $name = '张三'; protected $age = 18; private $sex = '男'; } $myObj = new MyClass(); $jsonString = json_encode($myObj); $arr = json_decode($jsonString, true); print_r($arr);
ここでは、クラス MyClass を通じてオブジェクト $myObj を作成し、 json_encode() 関数を使用してそれを JSON 文字列 $ jsonString にシリアル化します。次に、json_decode() 関数を使用して文字列を連想配列 $arr にデコードします。
json_decode() 関数では、2 番目のパラメーターが true に設定されています。これは、デコード後、オブジェクトの代わりに連想配列が返されることを意味します。このパラメータが設定されていない場合は、配列の代わりにオブジェクトが返されます。
コードを実行すると、前の例と同じ出力が得られます。
概要
PHP では、さまざまな方法でオブジェクトを配列に変換できます。 get_object_vars() 関数は、オブジェクトのすべてのプロパティとその値を配列に簡単に変換できます。一方、型キャスト関数と json_decode() 関数は、オブジェクトを文字列にシリアル化し、変換関数を通じて配列に変換できます。どの方法を使用するかに関係なく、現在のシナリオに適した方法を選択している限り、オブジェクトを配列に簡単に変換して、ビジネス ニーズをより適切に満たすことができます。
以上がPHPでオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。