Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menentukan sama ada terdapat nilai dalam dua tatasusunan

PHP menentukan sama ada terdapat nilai dalam dua tatasusunan

WBOY
WBOYasal
2023-05-23 10:19:07390semak imbas

Dalam PHP, selalunya perlu membandingkan atau mencari dua tatasusunan. Satu operasi biasa adalah untuk menentukan sama ada dua tatasusunan mempunyai nilai kunci yang sama.

Untuk menentukan sama ada dua tatasusunan mempunyai nilai kunci yang sama, anda boleh menggunakan dua kaedah dalam PHP:

  1. fungsi array_intersect_key()

array_intersect_key() Fungsi ini boleh digunakan untuk mendapatkan elemen dengan nilai kunci yang sama dalam dua tatasusunan. Gunakan fungsi ini untuk mula-mula mendapatkan elemen dengan nilai kunci yang sama dalam dua tatasusunan, dan kemudian tentukan sama ada nilainya adalah sama. Format fungsi ini ialah:

array_intersect_key(array1, array2)

Kod sampel adalah seperti berikut:

<?php
    $arr1 = array('a'=>1, 'b'=>2, 'c'=>3);
    $arr2 = array('d'=>4, 'b'=>5, 'f'=>6);
    $result = array_intersect_key($arr1, $arr2);
    if(count($result) > 0) {
        echo "存在相同键值";
    } else {
        echo "不存在相同键值";
    }
?>

Kod pertama mentakrifkan dua tatasusunan $arr1 dan $arr2, setiap satu mengandungi nilai kunci yang berbeza. Kemudian gunakan fungsi array_intersect_key() untuk mendapatkan elemen dengan nilai kunci yang sama dalam dua tatasusunan, simpannya dalam tatasusunan $result, dan akhirnya tentukan sama ada terdapat elemen dalam tatasusunan.

  1. array_intersect_assoc() function

array_intersect_assoc() fungsi juga boleh digunakan untuk mendapatkan elemen dengan nilai kunci yang sama dalam dua tatasusunan, tetapi ia akan mempertimbangkan nilai kunci dan nama kunci Situasi yang sama pada masa yang sama. Gunakan fungsi ini untuk menentukan sama ada nilai kunci dan nama kunci yang wujud dalam dua tatasusunan adalah sama. Format fungsi ini ialah:

array_intersect_assoc(array1, array2)

Kod sampel adalah seperti berikut:

<?php
    $arr1 = array('a'=>1, 'b'=>2, 'c'=>3);
    $arr2 = array('d'=>4, 'b'=>5, 'f'=>6);
    $result = array_intersect_assoc($arr1, $arr2);
    if(count($result) > 0) {
        echo "存在相同键值和键名";
    } else {
        echo "不存在相同键值和键名";
    }
?>

Kod ini serupa dengan kod sampel di atas, kecuali ia menggunakan fungsi array_intersect_assoc() untuk menentukan sama ada terdapat nilai kunci dan nama kunci yang sama.

Ringkasan

Dalam PHP, menggunakan fungsi array_intersect_key() dan array_intersect_assoc() boleh menentukan dengan mudah sama ada dua tatasusunan mempunyai elemen dengan nilai kunci dan nama kunci yang sama. Apabila menggunakan fungsi ini, sila ambil perhatian bahawa fungsi mengembalikan tatasusunan, dan anda perlu menggunakan fungsi count() untuk menentukan sama ada terdapat elemen yang sama.

Atas ialah kandungan terperinci PHP menentukan sama ada terdapat nilai dalam dua tatasusunan. 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