Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php tatasusunan objek ke tatasusunan

php tatasusunan objek ke tatasusunan

王林
王林asal
2023-05-23 13:29:38532semak imbas

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

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

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;

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

$basicStudents = (array) $students;

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

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

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

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

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!

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