Rumah > pembangunan bahagian belakang > tutorial php > Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

WBOY
Lepaskan: 2023-04-10 19:28:02
asal
6287 orang telah melayarinya

Dalam artikel sebelumnya "Operasi Tatasusunan PHP: Kaedah Pengiraan Hasil Elemen Tatasusunan", pengetahuan yang berkaitan tentang cara mengira hasil darab unsur tatasusunan dalam PHP telah diperkenalkan secara terperinci dalam artikel ini , mari kita lihat PHP Bagaimana untuk membandingkan dua tatasusunan dan kemudian memperoleh pengetahuan yang berkaitan tentang persilangan antara berbilang tatasusunan Saya harap ia akan membantu semua orang!

Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

Dalam artikel sebelumnya kami memperkenalkan cara mengira hasil darab elemen tatasusunan dalam PHP Kita boleh menggunakan fungsi gelung for, gelung foreach dan array_product untuk mengira hasil darab unsur tatasusunan. Kami juga telah menangani isu antara berbilang tatasusunan sebelum ini, seperti menggabungkan tatasusunan Apabila ia datang untuk membaca tatasusunan, kami perlu menyebut operasi yang biasa digunakan dalam PHP, iaitu untuk mendapatkan persilangan berbilang tatasusunan.

Ini ialah perbandingan tatasusunan. Persilangan antara tatasusunan diperoleh dengan membandingkan tatasusunan Jadi kaedah yang boleh digunakan untuk melakukannya? Mari kita lihat seterusnya.

<strong><span style="font-size: 20px;">array_intersect</span></strong> Fungsi - Bandingkan nilai utama tatasusunan

Terdapat fungsi array_intersect terbina dalam dalam PHP yang digunakan untuk membandingkan tatasusunan , membandingkan nilai utama tatasusunan, dan kemudian menggunakan elemen tatasusunan untuk mengembalikan nilai kunci dalam kedua-dua tatasusunan, iaitu persilangan dua tatasusunan. Format sintaks asas bagi fungsi

array_intersect adalah seperti berikut:

array_intersect(array1,array2,array3...);
Salin selepas log masuk

Perlu diingatkan bahawa tatasusunan parameter123 mewakili bilangan tatasusunan yang digunakan untuk perbandingan, dan tatasusunan 1 ialah digunakan Untuk perbandingan dengan tatasusunan lain, tatasusunan 2 dan 3 kedua-duanya digunakan untuk perbandingan dengan tatasusunan 1. Apabila fungsi membandingkan dua atau lebih tatasusunan, hasil yang dikembalikan ialah tatasusunan persilangan.

Tatasusunan yang dikembalikan hanya mempunyai persilangan tatasusunan 1 dan tatasusunan lain, dan nama kuncinya juga tatasusunan 1. Dengan kata lain, tatasusunan yang dikembalikan ialah sebahagian daripada tatasusunan 1, dan tatasusunan lain hanya menggunakan nilai kunci Bandingkan dengan tatasusunan 1 dan tidak akan muncul dalam tatasusunan yang dikembalikan. Hanya bandingkan nilai utama.

Seterusnya mari kita lihat aplikasi fungsi array_intersect melalui contoh adalah seperti berikut:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"purple");
$result=array_intersect($a1,$a2);
print_r($result);
?>
Salin selepas log masuk

Hasil keluaran:

<. 🎜>Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

Dalam contoh di atas, dua tatasusunan dibandingkan Seperti yang anda lihat, terdapat dua nilai kunci dalam tatasusunan 1 yang sama dengan tatasusunan 2. Nama kunci dalam hasil output masih. nama kunci tatasusunan 1.

Dalam contoh di atas, dua tatasusunan dibandingkan. 🎜 >

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"blue","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"blue");
$result=array_intersect($a1,$a2,$a3);
print_r($result);
?>
Salin selepas log masuk
Seterusnya mari kita lihat fungsi array_intersect_key dalam PHP Ia tidak membandingkan nilai kunci, tetapi membandingkan nama kunci.


array_intersect_keyKetahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

Fungsi - Bandingkan nama kunci tatasusunan

<strong><span style="max-width:90%">array_intersect_key</span></strong>Fungsi sangat serupa dengan fungsi , tetapi kaedah perbandingan adalah berbeza. Fungsi

memperoleh persilangan dengan nama kunci yang sama dengan membandingkan nama kunci <🎜 Fungsi >

array_intersect_key Formatnya adalah seperti berikut: array_intersectarray_intersect_key

Perlu diambil perhatian bahawa tatasusunan parameter123 mewakili tatasusunan yang digunakan untuk perbandingan 2 dan 3 kedua-duanya Digunakan untuk perbandingan dengan tatasusunan 1. Apabila fungsi membandingkan dua atau lebih tatasusunan, hasil yang dikembalikan ialah tatasusunan persilangan.

array_intersect_key

Fungsi yang dikembalikan adalah serupa dengan
array_intersect_key(array1,array2,array3...)
Salin selepas log masuk
Hasil yang dikembalikan ialah nilai kunci yang sepadan dalam tatasusunan nama kunci persimpangan 1. Hanya bandingkan nama kunci.


Mari kita lihat penggunaan fungsi

melalui contoh seperti berikut:

array_intersectPertama, mari kita lihat tatasusunan yang tidak mentakrifkan kunci. nama dan hanya menggunakan pengindeksan

array_intersect_keyHasil keluaran:

<?php
$a1=array("red","green","blue","yellow");
$a2=array("red","green","blue");
$result=array_intersect_key($a1,$a2);
print_r($result);
?>
Salin selepas log masuk


Apabila terdapat nama kunci yang mentakrifkan nilai kunci, ia adalah sama, cuma bandingkan nama kuncinya. membandingkan nama kunci untuk mendapatkan persimpangan melalui fungsi

.

Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

<p>array_intersect_assoc</p>
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","f"=>"blue","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"blue");
$result=array_intersect_key($a1,$a2,$a3);
print_r($result);
?>
Salin selepas log masuk
Fungsi - Bandingkan nama kunci dan nilai kunci tatasusunan


Seperti di atas Kedua-dua fungsi membandingkan nilai kunci dan nama kunci Kini PHP boleh membandingkan nilai kunci dan nama kunci pada masa yang sama melalui fungsi Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi), yang bermaksud bahawa hasil output mestilah kedua-dua nilai kunci. dan nama kunci adalah sama.

array_intersect_assoc函数的基本语法格式如下:

array_intersect_assoc(array1,array2,array3...)
Salin selepas log masuk

其中需要注意的是:参数array123表示的就是第几个用来比较的数组,数组1是用来与其他数组进行比较的,数组2和3都是用来与数组1进行比较的。当函数比较两个或者多个数组的时候,返回的结果就是一个交集数组。

这个返回的交集数组,既然键名和键值都是一样的,返回的结果也就不需要争论什么了。

接下来我们通过示例来看一下array_intersect_assoc函数的应用,示例如下:

首先我们还是先来看一下没有定义键名,只通过索引进行的数组

<?php
$a1=array("red","green","blue","yellow");
$a2=array("red","black","blue");
$a3=array("red");
$result=array_intersect_key($a1,$a2,$a3);
print_r($result);
?>
Salin selepas log masuk

输出结果:

Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

下面我们再来看一下,有自定义键名的数组

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"red","b"=>"green","g"=>"purple");
$a3=array("a"=>"red","b"=>"green","h"=>"blue");
$result=array_intersect_assoc($a1,$a2,$a3);
print_r($result);
?>
Salin selepas log masuk

输出结果:

Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi)

这便是在PHP中可以通过array_intersect函数、array_intersect_keyarray_intersect_assoc函数分别以不同的方法来获取数组之间的交集。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

Atas ialah kandungan terperinci Ketahui tiga kaedah untuk mendapatkan persilangan berbilang tatasusunan dalam lima minit (Koleksi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan