Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menulis persimpangan tatasusunan dalam php

Bagaimana untuk menulis persimpangan tatasusunan dalam php

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

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web Ia popular kerana fleksibiliti, kecekapan dan kemudahan pembelajaran. Dalam PHP, tatasusunan ialah struktur data biasa yang membolehkan kami menyimpan dan memproses sejumlah besar data. Artikel ini akan memperkenalkan anda cara menggunakan PHP untuk menulis persimpangan tatasusunan.

Persimpangan tatasusunan merujuk kepada set elemen yang wujud bersama dalam dua atau lebih tatasusunan. Dalam PHP, kita boleh menggunakan fungsi array_intersect() untuk mencari persilangan antara dua tatasusunan. Fungsi ini menerima sebarang bilangan argumen dan mengembalikan persilangan antara semua tatasusunan.

Berikut ialah contoh kod:

<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(3, 4, 5, 6, 7);

$result = array_intersect($array1, $array2);

print_r($result); // 输出: Array ( [2] => 3 [3] => 4 [4] => 5 )
?>

Dalam kod di atas, kami mula-mula mentakrifkan dua tatasusunan $array1 dan $array2, yang mengandungi beberapa nilai berangka. Kami kemudiannya menggunakan fungsi array_intersect() untuk mencari persilangan antara dua tatasusunan ini dan menyimpan hasilnya dalam pembolehubah $result. Akhir sekali, kami menggunakan fungsi print_r() untuk mencetak hasilnya.

Menjalankan kod di atas akan mengeluarkan keputusan berikut:

Array ( [2] => 3 [3] => 4 [4] => 5 )

Ini ialah tatasusunan yang mengandungi tiga elemen, setiap elemen adalah biasa dalam dua tatasusunan nilai berangka ini. Antaranya, nama kunci mewakili kedudukan indeks elemen dalam tatasusunan $array1, dan nilai mewakili nilai elemen.

Jika kita ingin mencari persilangan antara berbilang tatasusunan, cuma tambahkan lebih banyak parameter pada fungsi array_intersect(). Contohnya:

<?php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(3, 4, 5, 6, 7);
$array3 = array(5, 6, 7, 8, 9);

$result = array_intersect($array1, $array2, $array3);

print_r($result); // 输出: Array ( [4] => 5 )
?>

Dalam kod di atas, kami telah menambah tatasusunan lain $array3 dan memberikannya sebagai parameter ketiga fungsi array_intersect(). Pada akhirnya, kami hanya mendapat satu elemen persilangan, elemen dengan nilai 5.

Perlu diambil perhatian bahawa fungsi array_intersect() mengabaikan nama kunci dan hanya membandingkan berdasarkan nilai. Jika anda perlu mengekalkan nama kunci tatasusunan asal, anda boleh menggunakan fungsi array_intersect_assoc() untuk perbandingan. Fungsi ini sangat serupa dengan fungsi array_intersect(), kecuali ia membandingkan kunci dan nilai pada masa yang sama.

<?php
$array1 = array(&#39;a&#39; => 1, 'b' => 2, 'c' => 3);
$array2 = array('c' => 3, 'd' => 4, 'e' => 5);
$array3 = array('e' => 5, 'f' => 6, 'g' => 7);

$result = array_intersect_assoc($array1, $array2, $array3);

print_r($result); // 输出: Array ( [e] => 5 )
?>

Dalam kod di atas, kami mentakrifkan tiga tatasusunan dengan nama kunci, dan kemudian gunakan fungsi array_intersect_assoc() untuk membandingkan. Hasilnya ialah tatasusunan dengan kunci bernama 'e' dan nilai 5, yang merupakan satu-satunya elemen persilangan antara tiga tatasusunan.

Dalam artikel ini, kami memperkenalkan cara menulis persilangan tatasusunan menggunakan PHP. Kita boleh menggunakan fungsi array_intersect() untuk mencari persilangan antara sebarang bilangan tatasusunan, atau kita boleh menggunakan fungsi array_intersect_assoc() untuk mengekalkan nama kunci tatasusunan asal. Fungsi ini boleh membantu kami memproses dan menganalisis sejumlah besar data dalam pembangunan web dengan cepat.

Atas ialah kandungan terperinci Bagaimana untuk menulis persimpangan tatasusunan 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