Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Saya tidak faham cara membandingkan dua tatasusunan dalam php

Saya tidak faham cara membandingkan dua tatasusunan dalam php

WBOY
WBOYasal
2023-05-07 09:00:07412semak imbas

Apabila membangunkan aplikasi php, selalunya perlu melakukan operasi perbandingan pada tatasusunan. Operasi membandingkan dua tatasusunan biasanya digunakan untuk mencari persilangan, perbezaan atau kesatuan dua tatasusunan. Dalam PHP, kita boleh menggunakan pelbagai fungsi dan algoritma terbina dalam untuk membandingkan dua tatasusunan Artikel ini akan memperkenalkan beberapa kaedah biasa.

  1. fungsi array_diff

fungsi array_diff digunakan untuk membandingkan perbezaan dua atau lebih tatasusunan. Ia menerima sebarang bilangan argumen, yang pertama ialah tatasusunan utama, dan argumen berikut ialah tatasusunan untuk dibandingkan. Ia mengembalikan tatasusunan baharu yang terdiri daripada nilai-nilai yang wujud dalam tatasusunan utama tetapi tidak wujud dalam tatasusunan lain. Kod sampel adalah seperti berikut:

$array1 = array("a" => "php", "b" => "java", "c" => "python");
$array2 = array("d" => "c#", "e" => "php", "f" => "java");

$result = array_diff($array1, $array2);
print_r($result);

Selepas kod di atas dilaksanakan, keputusan berikut akan dikeluarkan:

Array
(
    [c] => python
)

Tatasusunan hasil hanya mengandungi satu elemen dalam tatasusunan utama, iaitu " ular sawa".

  1. fungsi array_intersect

fungsi array_intersect digunakan untuk membandingkan persilangan dua atau lebih tatasusunan. Ia sangat serupa dengan fungsi array_diff dan juga menerima sebarang bilangan argumen. Ia mengembalikan tatasusunan baharu yang terdiri daripada elemen biasa daripada dua atau lebih tatasusunan. Kod sampel adalah seperti berikut:

$array1 = array("a" => "php", "b" => "java", "c" => "python");
$array2 = array("d" => "c#", "e" => "php", "f" => "java");

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

Selepas kod di atas dilaksanakan, keputusan berikut akan dikeluarkan:

Array
(
    [b] => java
    [a] => php
)

Tatasusunan hasil mengandungi elemen yang wujud bersama dalam dua tatasusunan, iaitu "php" dan "java".

  1. fungsi array_merge

fungsi array_merge digunakan untuk menggabungkan dua atau lebih tatasusunan ke dalam tatasusunan baharu. Ia menambah elemen daripada tatasusunan berikut ke penghujung tatasusunan pertama. Jika terdapat elemen dengan subskrip yang sama dalam dua tatasusunan, unsur-unsur dalam tatasusunan pertama akan dikekalkan dan unsur-unsur dalam tatasusunan berikutnya akan diabaikan. Kod sampel adalah seperti berikut:

$array1 = array("a" => "php", "b" => "java", "c" => "python");
$array2 = array("d" => "c#", "e" => "php", "f" => "java");

$result = array_merge($array1, $array2);
print_r($result);

Selepas kod di atas dilaksanakan, keputusan berikut akan dikeluarkan:

Array
(
    [a] => php
    [b] => java
    [c] => python
    [d] => c#
    [e] => php
    [f] => java
)

Tatasusunan hasil mengandungi semua elemen dalam dua tatasusunan.

  1. fungsi array_unique

fungsi array_unique digunakan untuk mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Ia boleh digunakan untuk membandingkan elemen pendua dalam tatasusunan tunggal. Kod sampel adalah seperti berikut:

$array = array("a" => "php", "b" => "java", "c" => "php", "d" => "python");

$result = array_unique($array);
print_r($result);

Selepas kod di atas dilaksanakan, keputusan berikut akan dikeluarkan:

Array
(
    [a] => php
    [b] => java
    [d] => python
)

Tatasusunan hasil hanya mengandungi elemen tanpa pendua.

Kesimpulan

Melalui artikel ini, kami mempelajari tentang fungsi biasa dalam php untuk membandingkan dua tatasusunan, ia adalah array_diff, array_intersect, array_merge, array_unique. Fungsi ini boleh digunakan untuk membandingkan dua atau lebih tatasusunan untuk operasi seperti persilangan, perbezaan, penggabungan atau penyahduplikasian. Dalam aplikasi praktikal, kami boleh menggunakan fungsi ini secara fleksibel mengikut keperluan untuk menyelesaikan tugas pembangunan kami.

Atas ialah kandungan terperinci Saya tidak faham cara membandingkan 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