Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengetahui sama ada unsur dalam tatasusunan wujud dalam php

Bagaimana untuk mengetahui sama ada unsur dalam tatasusunan wujud dalam php

PHPz
Lepaskan: 2023-04-25 10:17:50
asal
832 orang telah melayarinya

PHP ialah bahasa pengaturcaraan fleksibel yang mampu mengurus dan memanipulasi pengumpulan data, seperti tatasusunan. Tatasusunan ialah salah satu jenis data yang paling biasa digunakan dalam PHP kerana ia menyediakan cara mudah untuk menyimpan dan mengakses data. Dalam artikel ini, kita akan membincangkan cara untuk mencari sama ada elemen dalam tatasusunan wujud dalam PHP.

Terdapat beberapa cara biasa untuk mencari elemen dalam tatasusunan dalam PHP Kami akan memperkenalkan kaedah ini seterusnya di bawah.

Kaedah 1: Gunakan fungsi in_array()

in_array() fungsi boleh digunakan untuk menentukan sama ada sesuatu nilai berada dalam tatasusunan Sintaks fungsi ini adalah seperti berikut:

in_array($needle, $haystack, $strict);
Salin selepas log masuk

Antaranya, $needle ialah nilai elemen yang anda ingin cari; $haystack ialah tatasusunan yang anda mahu cari; Jika ditetapkan kepada benar, jenis juga mestilah sama untuk dianggap sebagai padanan.

Kod contoh:

$fruits = array('apple', 'orange', 'banana');
if(in_array('orange', $fruits)){
    echo 'orange 已经存在于数组中';
}else{
    echo 'orange 不存在于数组中';
}
Salin selepas log masuk

Output: oren sudah wujud dalam tatasusunan

Kaedah 2: Gunakan fungsi array_search()

fungsi array_search() Boleh digunakan untuk mencari nama kunci elemen dalam tatasusunan. Sintaks fungsi ini adalah seperti berikut:

array_search($needle, $haystack, $strict);
Salin selepas log masuk

di mana $needle ialah nilai elemen yang anda ingin cari; $hystack ialah tatasusunan yang anda mahu cari; digunakan untuk menentukan Sama ada hendak menggunakan mod ketat semasa mencari. Jika ditetapkan kepada benar, jenis juga mestilah sama untuk dianggap sebagai padanan.

Kod sampel:

$fruits = array('apple', 'orange', 'banana');
$key = array_search('orange', $fruits);
if($key !== false){
    echo 'orange 已经存在于数组中,键名为 '.$key;
}else{
    echo 'orange 不存在于数组中';
}
Salin selepas log masuk

Output: oren sudah wujud dalam tatasusunan dengan nama kunci 1.

Perlu diambil perhatian bahawa fungsi array_search() mengembalikan nama kunci elemen dalam tatasusunan Jika ia tidak ditemui, ia mengembalikan palsu. Oleh itu, anda perlu menggunakan "!==" untuk menentukan sama ada elemen itu ditemui.

Kaedah 3: Gunakan fungsi isset()

fungsi isset() boleh digunakan untuk menentukan sama ada unsur wujud dalam tatasusunan. Sintaks fungsi ini adalah seperti berikut:

isset($array[$key]);
Salin selepas log masuk

di mana $array ialah tatasusunan yang anda ingin cari; $key ialah nama kunci atau indeks elemen yang anda ingin cari.

Kod sampel:

$fruits = array('apple', 'orange', 'banana');
if(isset($fruits[1])){
    echo '数组中存在索引为 1 的元素';
}else{
    echo '数组中不存在索引为 1 的元素';
}
Salin selepas log masuk

Output: Terdapat elemen dengan indeks 1 dalam tatasusunan.

Perlu diambil perhatian bahawa fungsi isset() hanya boleh digunakan untuk mencari sama ada nama kunci atau indeks wujud dalam tatasusunan, tetapi ia tidak dapat menentukan sama ada nilai elemen adalah nol atau rentetan kosong.

Kaedah 4: Gunakan fungsi array_key_exists()

fungsi array_key_exists() boleh digunakan untuk menentukan sama ada nama kunci wujud dalam tatasusunan. Sintaks fungsi ini adalah seperti berikut:

array_key_exists($key, $array);
Salin selepas log masuk

di mana $key ialah nama kunci yang anda ingin cari;

Kod sampel:

$fruits = array('apple', 'orange', 'banana');
if(array_key_exists(1, $fruits)){
    echo '数组中存在索引为 1 的元素';
}else{
    echo '数组中不存在索引为 1 的元素';
}
Salin selepas log masuk

Output: Terdapat elemen dengan indeks 1 dalam tatasusunan.

Perlu diambil perhatian bahawa fungsi array_key_exists() hanya boleh digunakan untuk mencari nama kunci dalam tatasusunan dan tidak boleh menentukan sama ada nilai elemen yang sepadan dengan nama kunci itu kosong.

Kaedah 5: Gunakan fungsi array_intersect()

Fungsi array_intersect() boleh digunakan untuk mencari persilangan dua tatasusunan, iaitu, untuk mencari elemen yang mereka kongsi. Sintaks fungsi ini adalah seperti berikut:

array_intersect($array1, $array2);
Salin selepas log masuk

di mana $array1 dan $array2 ialah dua tatasusunan untuk dibandingkan.

Kod sampel:

$fruits1 = array('apple', 'orange', 'banana');
$fruits2 = array('orange', 'papaya', 'mango');
$common_fruits = array_intersect($fruits1, $fruits2);
if(count($common_fruits) > 0){
    echo '两个数组中存在共同元素:';
    print_r($common_fruits);
}else{
    echo '两个数组中不存在共同元素';
}
Salin selepas log masuk

Output: Terdapat elemen biasa dalam dua tatasusunan: Tatasusunan ([1] => oren)

Perlu diingatkan bahawa array_intersect Fungsi () mengembalikan tatasusunan baharu yang mengandungi unsur biasa dalam dua tatasusunan. Jika kedua-dua tatasusunan tidak mempunyai unsur yang sama, tatasusunan kosong dikembalikan.

Ringkasnya, kami telah memperkenalkan lima kaedah biasa untuk mencari elemen dalam tatasusunan dalam PHP: fungsi in_array(), fungsi array_search(), isset() function, array_key_exists() fungsi dan array_intersect( ) fungsi. Dalam pengaturcaraan sebenar, anda harus memilih kaedah yang sesuai untuk memproses elemen dalam tatasusunan mengikut keperluan anda.

Atas ialah kandungan terperinci Bagaimana untuk mengetahui sama ada unsur dalam tatasusunan wujud dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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