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

PHP+tukar objek kepada tatasusunan rentetan objek

王林
Lepaskan: 2023-05-07 20:09:07
asal
479 orang telah melayarinya

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);
Salin selepas log masuk

Laksanakan kod di atas, hasil output ialah:

array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
Salin selepas log masuk
  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);
Salin selepas log masuk

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)
  }
}
Salin selepas log masuk

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);
Salin selepas log masuk

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)
  }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan