Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Cekap Mencari Objek dengan IDnya dalam Susunan Objek?

Bagaimana untuk Cekap Mencari Objek dengan IDnya dalam Susunan Objek?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 05:43:09492semak imbas

How to Efficiently Find an Object by its ID in an Array of Objects?

Mencari Objek mengikut Harta dalam Susunan Objek

Memandangkan tatasusunan objek di mana setiap objek mempunyai sifat "ID", kami perlu mengenal pasti dan mendapatkan semula objek yang sepadan dengan nilai khusus untuk sifat ID. Mari kita pertimbangkan tatasusunan bernama $array dengan objek yang mempunyai sifat "ID" dan "nama".

Untuk mendekati masalah ini, terdapat dua strategi biasa:

1. Lelaran Tatasusunan:

Ini melibatkan gelung melalui setiap objek dalam tatasusunan dan menyemak sama ada sifat "ID"nya sepadan dengan nilai yang dikehendaki. Pendekatan ini mudah tetapi boleh menjadi tidak cekap untuk tatasusunan yang besar.

$item = null;
foreach ($array as $struct) {
    if ($v == $struct->ID) {
        $item = $struct;
        break;
    }
}

2. Penciptaan Peta Hash:

Kita boleh mencipta peta hash yang menggunakan sifat "ID" sebagai kunci dan objek sebagai nilai. Ini membolehkan kami mengakses objek yang diingini secara langsung berdasarkan IDnya.

$hashmap = [];
foreach ($array as $struct) {
    $hashmap[$struct->ID] = $struct;
}

$item = $hashmap[$v];

Jika prestasi membimbangkan, pendekatan penciptaan peta cincang biasanya lebih disukai untuk tatasusunan besar. Walau bagaimanapun, untuk tatasusunan kecil, kesederhanaan lelaran tatasusunan mungkin lebih sesuai.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Objek dengan IDnya dalam Susunan Objek?. 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