PHP では、さまざまなシナリオで使いやすいように、複雑なデータを文字列配列またはオブジェクト配列に変換することが必要になることがよくあります。この記事では、PHP を使用してオブジェクトを文字列配列に変換する方法、文字列配列をオブジェクト配列に変換する方法、およびオブジェクト配列を文字列配列に変換する方法についていくつかのテクニックを紹介します。
PHP では、組み込み関数 get_object_vars()
を使用して属性値を取得できます。オブジェクトの値を取得し、配列に格納します。コード例は次のとおりです。
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person('Tom', 20); $arr = get_object_vars($person); var_dump($arr);
上記のコードを実行すると、出力結果は次のようになります。
array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
json_decode() を使用してこれを実現できます。前提として、変換される文字列配列は
JSON 形式に準拠している必要があります。コード例は次のとおりです。
$jsonStr = '[{"name":"Tom","age":20},{"name":"Jerry","age":21}]'; $arr = json_decode($jsonStr); var_dump($arr);
array(2) { [0]=> object(stdClass)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) } [1]=> object(stdClass)#2 (2) { ["name"]=> string(5) "Jerry" ["age"]=> int(21) } }
serialize() 関数を使用して実現できます。 。オブジェクト配列を文字列にシリアル化し、
unserialize() 関数を通じてシリアル化された文字列を元のオブジェクト配列に復元できます。
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $persons = array(new Person('Tom', 20), new Person('Jerry', 21)); $str = serialize($persons); $arr = unserialize($str); var_dump($arr);
array(2) { [0]=> object(Person)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) } [1]=> object(Person)#2 (2) { ["name"]=> string(5) "Jerry" ["age"]=> int(21) } }
以上がphp+オブジェクトを文字列配列オブジェクト配列に変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。