Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membaca tatasusunan objek dalam php

Bagaimana untuk membaca tatasusunan objek dalam php

PHPz
PHPzasal
2023-04-23 10:06:51858semak imbas

Tatasusunan objek merujuk kepada tatasusunan yang terdiri daripada berbilang objek. Tidak seperti tatasusunan berangka umum, tatasusunan objek ialah tatasusunan yang terdiri daripada rujukan objek. Dalam PHP, terdapat beberapa cara untuk membaca pelbagai objek.

1. Gunakan gelung foreach untuk merentasi tatasusunan objek

Menggunakan gelung foreach untuk melintasi tatasusunan objek ialah salah satu kaedah yang paling biasa. Kod sampel adalah seperti berikut:

class User {
    public $id;
    public $name;
    public $email;
}

$user1 = new User();
$user1->id = 1;
$user1->name = "John";
$user1->email = "john@example.com";

$user2 = new User();
$user2->id = 2;
$user2->name = "Smith";
$user2->email = "smith@example.com";

$users = array($user1, $user2);

foreach ($users as $user) {
    echo $user->id . " | " . $user->name . " | " . $user->email . "<br>";
}

Dalam contoh di atas, kami mencipta kelas Pengguna dan membuat instantiated dua objek $user1 dan $user2, dan kemudian menambah dua objek ini pada tatasusunan objek $users. Seterusnya, gunakan gelung foreach untuk menggelung $users, simpan setiap objek ke dalam pembolehubah $user, dan keluarkan nilai atribut objek.

2. Gunakan gelung untuk merentasi tatasusunan objek

Selain menggunakan gelung foreach, anda juga boleh menggunakan gelung untuk melintasi tatasusunan objek. Kod sampel adalah seperti berikut:

class User {
    public $id;
    public $name;
    public $email;
}

$user1 = new User();
$user1->id = 1;
$user1->name = "John";
$user1->email = "john@example.com";

$user2 = new User();
$user2->id = 2;
$user2->name = "Smith";
$user2->email = "smith@example.com";

$users = array($user1, $user2);

for ($i = 0; $i < count($users); $i++) {
    echo $users[$i]->id . " | " . $users[$i]->name . " | " . $users[$i]->email . "<br>";
}

Dalam contoh di atas, kami mencipta kelas Pengguna dan membuat instantiated dua objek $user1 dan $user2, dan kemudian menambah dua objek ini pada tatasusunan objek $users. Seterusnya, gunakan gelung for untuk melintasi $pengguna dan mengeluarkan nilai atribut objek.

3. Gunakan fungsi array_map untuk menukar tatasusunan objek menjadi tatasusunan

Selain menggunakan gelung untuk melintasi tatasusunan objek, anda juga boleh menggunakan fungsi array_map untuk menukar tatasusunan objek ke dalam tatasusunan biasa. Kod sampel adalah seperti berikut:

class User {
    public $id;
    public $name;
    public $email;
}

$user1 = new User();
$user1->id = 1;
$user1->name = "John";
$user1->email = "john@example.com";

$user2 = new User();
$user2->id = 2;
$user2->name = "Smith";
$user2->email = "smith@example.com";

$users = array($user1, $user2);

$array_users = array_map(function($user) {
    return (array)$user;
}, $users);

foreach ($array_users as $user) {
    echo $user['id'] . " | " . $user['name'] . " | " . $user['email'] . "<br>";
}

Dalam contoh di atas, kami mencipta kelas Pengguna dan membuat instantiated dua objek $user1 dan $user2, dan kemudian menambah dua objek ini pada tatasusunan objek $users. Tukar setiap objek kepada tatasusunan menggunakan fungsi array_map dan tetapkan ia kepada tatasusunan baru $array_users. Akhir sekali, gunakan gelung foreach untuk menggelung melalui $array_users dan keluarkan nilai elemen tatasusunan.

Ringkasan:

Di atas ialah beberapa kaedah biasa untuk membaca tatasusunan objek dalam PHP. Menggunakan gelung untuk lelaran pada tatasusunan objek ialah salah satu kaedah yang paling biasa, tetapi dalam beberapa kes anda boleh menggunakan fungsi array_map untuk menukar tatasusunan objek kepada tatasusunan biasa. Kaedah yang berbeza sesuai untuk senario yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk membaca tatasusunan objek dalam php. 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