Bagaimana untuk Mencari Perbezaan Antara Baris Bersekutu Dua Tatasusunan Multidimensi dalam PHP?

Patricia Arquette
Lepaskan: 2024-11-13 00:10:02
asal
299 orang telah melayarinya

How to Find Differences Between Associative Rows of Two Multidimensional Arrays in PHP?

Mendapatkan Perbezaan Antara Baris Bersekutu Dua Tatasusunan Berbilang Dimensi

Dalam PHP, kita boleh memanfaatkan fungsi tatasusunan untuk membandingkan dan mengenal pasti perbezaan antara tatasusunan. Pertimbangkan keperluan untuk mencari maklumat yang terdapat dalam $pageids tetapi bukan dalam $parentpage. Walau bagaimanapun, menggunakan array_diff_assoc() sahaja mungkin tidak mencukupi dalam senario ini.

Untuk membandingkan tatasusunan bersarang dengan berkesan, kita boleh menggunakan gabungan teknik:

$serializedPageIds = array_map('serialize', $pageids);
$serializedParentPage = array_map('serialize', $parentpage);

$pageWithNoChildren = array_map('unserialize',
    array_diff($serializedPageIds, $serializedParentPage));
Salin selepas log masuk

Pendekatan ini melibatkan langkah-langkah berikut :

  1. Serialize Multidimensi Tatasusunan: Menggunakan array_map('serialize', ...), kami menukarkan pelbagai dimensi $pageids dan $parentpage menjadi satu dimensi yang mengandungi perwakilan rentetan setiap sub-tatasusunan.
  2. Bandingkan Tatasusunan Bersiri: array_diff() membandingkan tatasusunan satu dimensi yang dibuat dalam langkah 1, mengenal pasti perbezaan antara mereka.
  3. Nyahsiri Perbezaan: Selepas perbezaan dikenal pasti, array_map('unserialize', ...) digunakan untuk menukar perwakilan rentetan kembali kepada sub-array, menghasilkan output yang diingini.

Hasilnya, $pageWithNoChildren, akan mengandungi baris bersekutu daripada $pageids yang tidak terdapat dalam $parentpage. Teknik ini membolehkan perbandingan yang cekap dan tepat bagi tatasusunan bersarang.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Perbezaan Antara Baris Bersekutu Dua Tatasusunan Multidimensi dalam PHP?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan