ホームページ  >  記事  >  バックエンド開発  >  php+オブジェクトを文字列配列オブジェクト配列に変換します

php+オブジェクトを文字列配列オブジェクト配列に変換します

王林
王林オリジナル
2023-05-07 20:09:07450ブラウズ

PHP では、さまざまなシナリオで使いやすいように、複雑なデータを文字列配列またはオブジェクト配列に変換することが必要になることがよくあります。この記事では、PHP を使用してオブジェクトを文字列配列に変換する方法、文字列配列をオブジェクト配列に変換する方法、およびオブジェクト配列を文字列配列に変換する方法についていくつかのテクニックを紹介します。

  1. オブジェクトを文字列配列に変換します

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) }
  1. 文字列配列をオブジェクト配列に変換します
#セットがある場合 文字列配列をオブジェクト配列に変換する必要がある場合、組み込み関数

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 でオブジェクトを文字列配列に変換する方法、文字列配列をオブジェクト配列に変換する方法、およびオブジェクト配列を文字列配列に変換する方法を 3 つの例を通して紹介します。これらの技術により、PHP 開発においてデータの変換と処理をより便利に行うことができます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。