Bagaimana untuk Mengekalkan Baris Tatasusunan dengan Nilai Lajur Padanan daripada Tatasusunan Rata?

Linda Hamilton
Lepaskan: 2024-10-24 04:17:02
asal
435 orang telah melayarinya

How to Retain Array Rows with Matching Column Values from a Flat Array?

Kekalkan Baris Tatasusunan dengan Nilai Lajur Padanan daripada Tatasusunan Rata Berasingan

Diberi tatasusunan $arr1 dengan berbilang lajur dan tatasusunan rata kedua $ arr2 mengandungi senarai nilai lajur tertentu, objektifnya adalah untuk menapis $arr1 dan mengekstrak hanya baris di mana nilai dalam lajur tertentu sepadan dengan elemen dalam $arr2.

Penyelesaian:

Untuk melaksanakan tugas ini dengan cekap, array_uintersect() boleh digunakan. Fungsi asli ini menggunakan algoritma pengisihan semasa perbandingan untuk meningkatkan kelajuan pelaksanaan. Ia memerlukan dua tatasusunan dan fungsi panggil balik tersuai untuk menentukan logik perbandingan.

Dalam kod yang disediakan, fungsi panggil balik memanfaatkan penstrukturan tatasusunan untuk mengakses lajur id daripada setiap elemen $arr1 dan $arr2. Jika lajur id tidak wujud, ia lalai kepada nilai parameter.

Perbandingan menyemak sama ada nilai id daripada kedua-dua tatasusunan adalah sama, memastikan baris dalam $arr1 sepadan dengan nilai dalam $arr2. Hasilnya ialah tatasusunan baharu yang mengandungi hanya baris yang dikehendaki daripada $arr1.

Pendekatan ini menawarkan prestasi unggul kepada panggilan berulang in_array() disebabkan oleh panggilan fungsi yang diminimumkan dan masa pelaksanaan yang dioptimumkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Baris Tatasusunan dengan Nilai Lajur Padanan daripada Tatasusunan Rata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!