Rumah > pembangunan bahagian belakang > masalah PHP > php menukar tatasusunan kepada objek

php menukar tatasusunan kepada objek

WBOY
Lepaskan: 2023-05-05 20:08:06
asal
485 orang telah melayarinya

PHP ialah bahasa skrip yang digunakan secara meluas dalam bidang seperti pembangunan laman web dan pengaturcaraan sebelah pelayan. Dalam PHP, tatasusunan dan objek ialah dua jenis data biasa. Kadangkala anda perlu menukar tatasusunan kepada objek supaya anda boleh menggunakan beberapa kaedah dan sifat objek dengan lebih mudah. Artikel ini akan memperkenalkan cara menukar tatasusunan kepada objek menggunakan PHP.

Dalam PHP, anda boleh menggunakan kata kunci class untuk mentakrifkan kelas Kelas ialah cetak biru objek dan digunakan untuk mentakrifkan sifat dan kaedah objek. Apabila mencipta objek, gunakan kata kunci new untuk membuat instantiate objek, dan kemudian gunakan operator -> untuk mengakses sifat dan kaedah objek. Contohnya:

class Person {
  public $name;
  public $age;
  
  public function sayHello() {
    echo 'Hello, my name is ' . $this->name . ' and I am ' . $this->age . ' years old.';
  }
}

$person = new Person();
$person->name = 'John';
$person->age = 30;
$person->sayHello(); // 输出:Hello, my name is John and I am 30 years old.
Salin selepas log masuk

Dalam contoh di atas, kami telah mentakrifkan kelas Person dengan dua sifat name dan age dan kaedah bernama sayHello(). Kemudian kami mencipta objek Person, menetapkan sifatnya kepada John dan 30, dan memanggil kaedah sayHello() untuk mengeluarkan mesej.

Tidak seperti tatasusunan, objek mempunyai jenis, sifat dan kaedah. Objek dicipta mengikut definisi kelas, dan bukannya dapat menambah dan mengalih keluar elemen sesuka hati seperti tatasusunan. Walau bagaimanapun, kadangkala kita mungkin menggunakan tatasusunan dahulu untuk menyimpan data, dan kemudian perlu menukarnya menjadi objek untuk penggunaan yang lebih mudah.

Dalam PHP, anda boleh menggunakan operator cast (object) untuk menukar tatasusunan kepada objek. Contohnya:

$array = [
  'name' => 'John',
  'age' => 30
];

$object = (object) $array;
Salin selepas log masuk

Dalam contoh di atas, kami menukar tatasusunan bersekutu $array kepada objek $object, dengan nilai atribut name dan age ialah 'John' dan 30 untuk mengakses sifat dan kaedah objek ->. Contohnya: $object

echo $object->name; // 输出:John
Salin selepas log masuk
Salin selepas log masuk
Kod di atas akan mengeluarkan nilai

harta name objek. John

Perlu diambil perhatian bahawa selepas menukar tatasusunan kepada objek, nama kuncinya secara automatik akan menjadi nama sifat objek dan semua sifat objek akan lalai kepada keterlihatan

. Jika terdapat berbilang kunci dengan nama yang sama dalam tatasusunan, nilai kunci terakhir akan menimpa nilai sebelumnya. Contohnya: public

$array = [
  'name' => 'John',
  'age' => 30,
  'age' => 35,
];

$object = (object) $array;
echo $object->age; // 输出:35
Salin selepas log masuk
Dalam contoh di atas, kami menentukan tatasusunan

, yang mengandungi dua elemen dengan nama kunci $array dan nilainya masing-masing adalah age dan 30. Apabila kita menukarnya kepada objek, nilai 35 nama kunci age terakhir dalam tatasusunan akan menjadi nilai harta 35 objek. age

Selain operator cast

, anda juga boleh menggunakan kelas (object) untuk menukar tatasusunan kepada objek. stdClass ialah kelas standard dalam PHP yang boleh digunakan secara langsung semasa mencipta objek tanpa menentukan kelas terlebih dahulu. Contohnya: stdClass

$array = [
  'name' => 'John',
  'age' => 30
];

$object = new stdClass();
foreach ($array as $key => $value) {
  $object->$key = $value;
}
Salin selepas log masuk
Dalam contoh di atas, kami menggunakan

untuk menggelung melalui tatasusunan foreach dan menetapkan nama dan nilai kuncinya kepada sifat objek $array. Ambil perhatian bahawa anda perlu menggunakan operator $object untuk mengakses sifat objek. Kini, kita boleh menggunakan operator -> untuk mengakses sifat dan kaedah objek ->. Contohnya: $object

echo $object->name; // 输出:John
Salin selepas log masuk
Salin selepas log masuk
Seperti juga penghantaran, kelas

juga akan menukar nama kunci tatasusunan kepada nama sifat objek dan semua sifat akan lalai kepada keterlihatan stdClass. public

Ringkasnya, untuk menukar tatasusunan kepada objek, anda boleh menggunakan kelas operator cast

atau (object). Semasa proses penukaran, nama kunci tatasusunan akan menjadi nama sifat objek dan semua sifat akan lalai kepada keterlihatan stdClass. Ini menjadikannya lebih mudah untuk menggunakan sifat dan kaedah objek. public

Atas ialah kandungan terperinci php menukar tatasusunan kepada 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