Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP+tukar objek kepada tatasusunan rentetan objek

PHP+tukar objek kepada tatasusunan rentetan objek

王林
王林asal
2023-05-07 20:09:07406semak imbas

Dalam PHP, selalunya diperlukan untuk menukar beberapa data kompleks kepada tatasusunan rentetan atau tatasusunan objek untuk kegunaan mudah dalam senario yang berbeza. Artikel ini akan memperkenalkan beberapa teknik tentang cara menggunakan PHP untuk menukar objek kepada tatasusunan rentetan, menukar tatasusunan rentetan kepada tatasusunan objek dan menukar tatasusunan objek kepada tatasusunan rentetan.

  1. Tukar objek kepada tatasusunan rentetan

Dalam php, kita boleh menggunakan fungsi terbina dalam get_object_vars() untuk mendapatkan nilai atribut objek dan menyimpannya dalam tatasusunan. Contoh kod adalah seperti berikut:

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);

Laksanakan kod di atas, hasil output ialah:

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
  1. Tukar tatasusunan rentetan kepada tatasusunan objek

Apabila kita mempunyai satu set Apabila tatasusunan rentetan perlu ditukar kepada tatasusunan objek, kita boleh menggunakan fungsi terbina dalam json_decode() untuk mencapai ini. Premisnya ialah tatasusunan rentetan yang hendak ditukar mesti mematuhi format JSON. Contoh kod adalah seperti berikut:

$jsonStr = '[{"name":"Tom","age":20},{"name":"Jerry","age":21}]';
$arr = json_decode($jsonStr);
var_dump($arr);

Hasil pelaksanaan kod di atas:

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)
  }
}

Seperti yang dapat dilihat daripada hasilnya, kami berjaya menukar tatasusunan rentetan menjadi tatasusunan objek.

  1. Tukar tatasusunan objek kepada tatasusunan rentetan

Apabila kita perlu menukar tatasusunan objek kepada tatasusunan rentetan, kita boleh menggunakan fungsi serialize() untuk mencapainya. Ia boleh mensiri tatasusunan objek menjadi rentetan, dan memulihkan rentetan bersiri kepada tatasusunan objek asal melalui fungsi unserialize().

Berikut ialah contoh kod:

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);

Hasil pelaksanaan kod di atas:

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)
  }
}

Melalui kod sampel di atas, kami berjaya menukar tatasusunan objek kepada tatasusunan rentetan.

Artikel ini memperkenalkan kaedah menukar objek kepada tatasusunan rentetan, menukar tatasusunan rentetan kepada tatasusunan objek dan menukar tatasusunan objek kepada tatasusunan rentetan dalam PHP melalui tiga contoh. Melalui teknik ini, kami boleh menukar dan memproses data dengan lebih mudah dalam pembangunan PHP.

Atas ialah kandungan terperinci PHP+tukar objek kepada tatasusunan rentetan objek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn