Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencari elemen yang sama dalam dua tatasusunan dalam php

Bagaimana untuk mencari elemen yang sama dalam dua tatasusunan dalam php

藏色散人
藏色散人asal
2022-12-23 10:04:365098semak imbas

Cara mencari elemen yang sama dalam dua tatasusunan dalam PHP: 1. Cipta fail sampel PHP 2. Tentukan dua tatasusunan dengan elemen yang sama 3. Gunakan "array_intersect($array1,$array2)" atau Kaedah " array_intersect_assoc()" boleh mendapatkan elemen yang sama bagi dua tatasusunan.

Bagaimana untuk mencari elemen yang sama dalam dua tatasusunan dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3

php Bagaimana untuk mencarinya dua tatasusunan adalah Elemen yang sama?

php mendapat elemen yang sama bagi dua tatasusunan (persimpangan) dan membandingkan elemen yang berbeza dalam dua tatasusunan (set perbezaan)

(1) php mendapat dua tatasusunan Elemen yang sama

  array  array_intersect(array  $array1, array $array2, [, array $...])    
  array  array_intersect_assoc(array  $array1, array $array2, [, array $...])

Fungsi kedua-dua kaedah ini pada dasarnya adalah sama Kedua-duanya mengembalikan elemen yang wujud dalam kedua-dua tatasusunan (atau berbilang tatasusunan). tatasusunan. kedua-duanya dianggap sama jika nilainya adalah konsisten, manakala yang kedua memerlukan kedua-dua kunci dan nilai untuk menganggapnya sama Contohnya:

<?php
 
$array1 = array(&#39;1&#39;, &#39;a&#39; => &#39;aaaaaa&#39;, &#39;b&#39; => &#39;bbbbbb&#39;, &#39;c&#39;);
$array2 = array(&#39;a&#39; => &#39;aaaaaa&#39;, &#39;c&#39; => &#39;bbbbbb&#39;, &#39;c&#39;, &#39;1&#39;);
 
var_dump(array_intersect($array1,$array2));

Jalankan kod di atas dan anda akan mendapat keputusan berikut:

array(4) {
  [0]=>
  string(1) "1"
  ["a"]=>
  string(6) "aaaaaa"
  ["b"]=>
  string(6) "bbbbbb"
  [1]=>
  string(1) "c"
}

Menggunakan kaedah array_intersect_assoc() akan mendapat hasil berikut:

array(1) {
  ["a"]=>
  string(6) "aaaaaa"
}

(2) PHP membandingkan berbeza elemen dalam dua tatasusunan

  array   array_diff(array  $array1, array $array2, [, array $...])
  array   array_diff_assoc(array  $array1, array $array2, [, array $...])

Begitu juga, fungsi asas kedua-dua kaedah ini adalah sama, mengembalikan elemen yang berada dalam tatasusunan pertama tetapi tidak dalam tatasusunan lain. Yang pertama hanya membandingkan nilai, manakala yang kedua membandingkan kedua-dua kunci dan nilai.

<?php
 
$array1 = array(&#39;1&#39;, &#39;a&#39; => &#39;aaaaaa&#39;, &#39;b&#39; => &#39;bbbbbb&#39;, &#39;c&#39;);
$array2 = array(&#39;a&#39; => &#39;aaaaaa&#39;, &#39;c&#39; => &#39;bbbbbb&#39;, &#39;c&#39;, &#39;1&#39;);
 
var_dump(array_diff($array1,$array2));

Hasil larian kod di atas ialah:

array(0) {
}

Dan jika anda menggantikan baris terakhir dengan var_dump(array_diff_assoc($array1, $array2)); keputusan berikut:

array(3) {
  [0]=>
  string(1) "1"
  ["b"]=>
  string(6) "bbbbbb"
  [1]=>
  string(1) "c"
}

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk mencari elemen yang sama dalam dua 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