Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesan sama ada tatasusunan mengandungi elemen tertentu dalam php

Bagaimana untuk mengesan sama ada tatasusunan mengandungi elemen tertentu dalam php

PHPz
PHPzasal
2023-04-20 10:12:42475semak imbas

PHP ialah bahasa pengaturcaraan sumber terbuka yang digunakan secara meluas yang digunakan secara meluas dalam pembangunan web. Dalam operasi tatasusunan PHP, mengesan sama ada tatasusunan mengandungi elemen tertentu ialah operasi yang sangat biasa. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah asas untuk mengesan sama ada tatasusunan PHP mengandungi elemen.

Pertama, kita perlu memahami sintaks asas tatasusunan PHP. Dalam PHP, anda boleh menggunakan tatasusunan untuk menyimpan berbilang nilai. Tatasusunan boleh mengandungi berbilang elemen dan setiap elemen boleh menjadi nombor, rentetan, objek atau jenis nilai lain. Terdapat dua jenis tatasusunan PHP yang berbeza: tatasusunan diindeks dan tatasusunan bersekutu. Setiap elemen tatasusunan diindeks mempunyai indeks angka yang sepadan, manakala setiap elemen tatasusunan bersekutu mempunyai indeks rentetan yang sepadan.

Untuk jenis tatasusunan yang berbeza, kita boleh menggunakan kaedah yang berbeza untuk mengesan sama ada tatasusunan mengandungi elemen. Di bawah ini kami akan memperkenalkan kaedah ini masing-masing.

  1. Menggunakan fungsi in_array() (untuk tatasusunan diindeks)

Fungsi in_array() boleh digunakan untuk mengesan sama ada nilai wujud dalam tatasusunan tertentu. Parameter pertama fungsi ini ialah nilai yang akan dikesan, dan parameter kedua ialah tatasusunan yang akan dikesan. Mengembalikan benar jika nilai wujud dalam tatasusunan, palsu sebaliknya.

Sebagai contoh, katakan kita mempunyai tatasusunan terindeks $arr yang mengandungi beberapa nilai angka:

$arr = array(1, 2, 3, 4, 5);

Sekarang, kami ingin mengesan sama ada nombor 3 wujud dalam tatasusunan $arr. Anda boleh menggunakan kod berikut:

if (in_array(3, $arr)) {
    echo "3 存在于数组中";
} else {
    echo "3 不存在于数组中";
}

Kod di atas akan mengeluarkan: "3 wujud dalam tatasusunan". Jika kita menukar nilai yang dikesan kepada 6, kod ini akan mengeluarkan: "6 tidak wujud dalam tatasusunan".

  1. Gunakan fungsi array_search() (untuk tatasusunan diindeks)

fungsi array_search() boleh digunakan untuk mencari kunci nilai yang diberikan dalam tatasusunan dan mengembalikan nama kunci. Mengembalikan palsu jika nilai tidak wujud dalam tatasusunan.

Sebagai contoh, kami masih mempunyai tatasusunan indeks, kini kami ingin mengesan sama ada nombor 3 wujud dalam tatasusunan $arr dan dapatkan nama kuncinya yang sepadan. Anda boleh menggunakan kod berikut:

$key = array_search(3, $arr);
if ($key !== false) {
    echo "数字 3 存在于数组中,其键名为:" . $key;
} else {
    echo "数字 3 不存在于数组中";
}

Kod di atas akan mengeluarkan: "Nombor 3 wujud dalam tatasusunan dengan nama kunci: 2". Jika kita menukar nilai yang dikesan kepada 6, kod ini akan mengeluarkan: "Nombor 6 tidak wujud dalam tatasusunan".

Perlu diambil perhatian bahawa jika terdapat berbilang elemen yang sama, fungsi array_search() hanya akan mengembalikan nama kunci item padanan pertama.

  1. Gunakan fungsi array_key_exists() (untuk tatasusunan bersekutu)

Fungsi array_key_exists() boleh digunakan untuk mengesan sama ada kunci yang ditentukan wujud dalam tatasusunan tertentu. Parameter pertama fungsi ini ialah nama kunci yang akan dikesan, dan parameter kedua ialah tatasusunan yang akan dikesan. Mengembalikan benar jika kunci wujud dalam tatasusunan, palsu sebaliknya.

Sebagai contoh, kami mempunyai tatasusunan bersekutu $arr, yang mengandungi beberapa nilai rentetan:

$arr = array("apple" => 1, "banana" => 2, "orange" => 3);

Sekarang, kami ingin mengesan sama ada nama kunci "pisang" wujud dalam $arr tatasusunan . Anda boleh menggunakan kod berikut:

if (array_key_exists("banana", $arr)) {
    echo "键名 'banana' 存在于数组中";
} else {
    echo "键名 'banana' 不存在于数组中";
}

Kod di atas akan mengeluarkan: "Nama kunci 'pisang' wujud dalam tatasusunan". Jika kita menukar nama kunci yang dikesan kepada "pic", kod ini akan mengeluarkan: "Nama kunci 'pic' tidak wujud dalam tatasusunan."

  1. Gunakan fungsi isset() (untuk tatasusunan bersekutu)

fungsi isset() boleh digunakan untuk mengesan sama ada kunci yang ditentukan wujud dalam tatasusunan dan nilainya Sama ada bukan batal. Parameter fungsi ini boleh menjadi nilai rentetan atau elemen tatasusunan.

Sebagai contoh, kami masih mempunyai tatasusunan bersekutu $arr, dan kini kami ingin mengesan sama ada nama kunci "pisang" wujud dalam tatasusunan $arr. Anda boleh menggunakan kod berikut:

if (isset($arr["banana"])) {
    echo "键名 'banana' 存在于数组中,其值为:" . $arr["banana"];
} else {
    echo "键名 'banana' 不存在于数组中";
}

Kod di atas akan mengeluarkan: "Nama kunci 'pisang' wujud dalam tatasusunan dan nilainya ialah: 2". Jika kita menukar nama kunci yang dikesan kepada "pic", kod ini akan mengeluarkan: "Nama kunci 'pic' tidak wujud dalam tatasusunan."

Ringkasan

Dalam PHP, mengesan sama ada tatasusunan mengandungi elemen ialah operasi biasa. Untuk pelbagai jenis tatasusunan, kita boleh menggunakan kaedah yang berbeza untuk melaksanakan operasi ini. Antaranya, fungsi in_array() dan array_search() sesuai untuk tatasusunan diindeks, dan fungsi array_key_exists() dan isset() sesuai untuk tatasusunan bersekutu. Menguasai kaedah ini akan membantu kami mengendalikan tatasusunan PHP dengan lebih cekap.

Atas ialah kandungan terperinci Bagaimana untuk mengesan sama ada tatasusunan mengandungi elemen tertentu 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