php tatasusunan objek ke tatasusunan

王林
Lepaskan: 2023-05-23 13:29:38
asal
529 orang telah melayarinya

Dalam PHP, Object dan Array ialah dua jenis data yang berbeza. Walau bagaimanapun, dalam pembangunan sebenar, kita biasanya perlu menukar objek kepada tatasusunan untuk memudahkan pemprosesan dan pemindahan data. Artikel ini akan memperkenalkan cara menukar tatasusunan objek (Array Objek) dalam PHP kepada tatasusunan asas (Array Asas).

1. Apakah tatasusunan objek dan tatasusunan asas

Dalam PHP, objek (Objek) biasanya dibuat instantiated daripada kelas (Kelas), dan ia mempunyai sifat (Property) dan kaedahnya sendiri (Kaedah), yang boleh melakukan pelbagai operasi dan pemprosesan. Array ialah struktur data yang boleh menyimpan berbilang nilai dan boleh diakses dan diproses menggunakan pasangan nilai kunci.

Susun Objek ialah tatasusunan yang terdiri daripada berbilang objek. Sebagai contoh, kita boleh mentakrifkan berbilang objek pelajar dan menyimpannya dalam tatasusunan:

class Student {
  public $name;
  public $age;
}

$stu1 = new Student;
$stu1->name = "Tom";
$stu1->age = 18;

$stu2 = new Student;
$stu2->name = "Jerry";
$stu2->age = 19;

$students = array($stu1, $stu2);
Salin selepas log masuk

Tasusunan Asas ialah tatasusunan yang terdiri daripada nilai atau rentetan ringkas. Sebagai contoh, kita boleh mentakrifkan tatasusunan yang terdiri daripada berbilang nombor:

$numbers = array(1, 2, 3, 4, 5);
Salin selepas log masuk

2. Kaedah penukaran tatasusunan objek

Dalam PHP, kita boleh menggunakan pelbagai kaedah untuk menukar tatasusunan objek kepada tatasusunan Asas , dua kaedah yang biasa digunakan diperkenalkan di bawah.

  1. Penghantaran

Dalam PHP, kita boleh menggunakan penghantaran jenis untuk menukar tatasusunan objek kepada tatasusunan asas. Kaedah pelaksanaan khusus adalah seperti berikut:

$basicArray = (array) $objectArray;
Salin selepas log masuk

Contohnya, untuk menukar tatasusunan objek pelajar di atas kepada tatasusunan asas, ia boleh dilaksanakan seperti berikut:

$basicStudents = (array) $students;
Salin selepas log masuk

Pada masa ini, $basicStudents ialah tatasusunan asas, dan kandungannya adalah seperti berikut :

Array(
  [0] => Student Object
    (
        [name] => Tom
        [age] => 18
    )

  [1] => Student Object
    (
        [name] => Jerry
        [age] => 19
    )
)
Salin selepas log masuk

Perlu diambil perhatian bahawa kerana dalam penukaran jenis paksa, nama atribut objek akan dipaksa kepada nama kunci, jadi dalam asas yang ditukar tatasusunan, nama kunci ialah nama atribut objek.

  1. Menggunakan kaedah objek

Dalam PHP, kita juga boleh menggunakan kaedah objek untuk menukar tatasusunan objek kepada tatasusunan asas. Kaedah pelaksanaan khusus adalah seperti berikut:

$basicArray = $objectArray->toArray();
Salin selepas log masuk

Antaranya, toArray() ialah kaedah penukaran yang ditakrifkan oleh objek. Sebagai contoh, mentakrifkan kaedah penukaran untuk tatasusunan objek pelajar di atas dan menukarnya boleh dilaksanakan seperti ini:

class Student {
  public $name;
  public $age;

  public function toArray() {
    return array(
      'name' => $this->name,
      'age' => $this->age
    );
  }
}

$stu1 = new Student;
$stu1->name = "Tom";
$stu1->age = 18;

$stu2 = new Student;
$stu2->name = "Jerry";
$stu2->age = 19;

$students = array($stu1, $stu2);

$basicStudents = array();
foreach ($students as $student) {
  $basicStudents[] = $student->toArray();
}
Salin selepas log masuk

Pada masa ini, $basicStudents ialah tatasusunan asas dan kandungannya adalah seperti berikut:

Array(
  [0] => Array
    (
      [name] => Tom
      [age] => 18
    )

  [1] => Array
    (
      [name] => Jerry
      [age] => 19
  )
)
Salin selepas log masuk

Disebabkan kaedah toArray() menukar sifat objek kepada pasangan nilai kunci, jadi dalam tatasusunan asas yang ditukar, nama kunci ialah nama sifat objek.

3. Ringkasan

Dalam PHP, kita boleh menggunakan kaedah cast atau objek untuk menukar tatasusunan objek kepada tatasusunan asas. Bergantung pada keperluan sebenar dan kerumitan pelaksanaan kod, kaedah penukaran yang sepadan boleh dipilih. Perlu diingatkan bahawa dalam tatasusunan asas yang ditukar, takrif nama kunci dan nilai kunci berkaitan dengan takrifan sifat objek, jadi pelaksanaan kaedah penukaran perlu dipertimbangkan dengan teliti.

Atas ialah kandungan terperinci php tatasusunan objek ke tatasusunan. 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