Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menentukan sama ada nilai wujud dalam tatasusunan dalam php? Analisis ringkas kaedah

Bagaimana untuk menentukan sama ada nilai wujud dalam tatasusunan dalam php? Analisis ringkas kaedah

PHPz
Lepaskan: 2023-04-14 17:47:13
asal
863 orang telah melayarinya

Dalam pembangunan PHP, kita selalunya perlu menentukan sama ada nilai tertentu wujud dalam tatasusunan untuk melaksanakan operasi berkaitan seperti yang diperlukan. Seterusnya, artikel ini akan menggunakan contoh praktikal untuk memperkenalkan penggunaan PHP yang berkaitan untuk menentukan sama ada nilai tertentu wujud dalam tatasusunan.

1. Gunakan fungsi in_array untuk menilai

Dalam PHP, anda boleh menggunakan fungsi in_array untuk menilai sama ada nilai wujud dalam tatasusunan. Penggunaan khusus adalah seperti berikut:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
Salin selepas log masuk

Antaranya, parameter $needle ialah nilai yang hendak dicari, parameter $haystack ialah tatasusunan yang hendak dicari dan parameter $strict ialah sama ada untuk melaksanakan semak jenis. Jika parameter $strict adalah benar, semak sama ada jenis $needle adalah konsisten dengan jenis nilai dalam $haystack Jika ia tidak konsisten, kembalikan false.

Berikut ialah kod sampel menggunakan fungsi in_array untuk membuat pertimbangan:

$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', $arr)) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}
Salin selepas log masuk

Hasil output ialah: oren berada dalam tatasusunan, menunjukkan bahawa nilai oren wujud dalam tatasusunan $arr.

Sudah tentu, parameter $needle juga boleh menjadi tatasusunan, supaya anda boleh menentukan sama ada berbilang nilai wujud dalam tatasusunan $haystack pada satu masa. Kod sampel adalah seperti berikut:

$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}
Salin selepas log masuk
Salin selepas log masuk

Hasil output ialah: pisang berada dalam tatasusunan, menunjukkan bahawa nilai pisang wujud dalam tatasusunan $arr.

2. Gunakan nilai kunci tatasusunan untuk menentukan sama ada nilai wujud dalam tatasusunan selain menggunakan fungsi tatasusunan. Kaedah khusus ialah menggunakan fungsi array_keys dahulu untuk mendapatkan semua kunci dalam tatasusunan, dan kemudian gunakan fungsi in_array untuk menentukan sama ada nilai itu wujud dalam kunci. Kod sampel adalah seperti berikut:

Begitu juga, anda juga boleh menentukan sama ada berbilang nilai wujud dalam tatasusunan pada satu masa. Kod sampel adalah seperti berikut:
$arr = array('apple', 'banana', 'orange', 'pear');
if (in_array('orange', array_keys($arr))) {
    echo 'orange is in the array';
} else {
    echo 'orange is not in the array';
}
Salin selepas log masuk

3 Gunakan fungsi in_array untuk padanan kabur
$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$keys_arr = array_keys($arr);
$res_arr = array_intersect($search_arr, $keys_arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}
Salin selepas log masuk

Jika anda ingin melakukan padanan kabur, anda juga boleh menggunakan fungsi in_array. Kaedah khusus adalah untuk membandingkan setiap nilai dalam tatasusunan $haystack dengan parameter $needle, dan mengembalikan benar jika terdapat nilai dengan awalan yang sama seperti $needle. Kod sampel adalah seperti berikut:

Hasil output ialah: oren.
$arr = array('apple', 'banana', 'orange', 'pear');
$prefix = 'or';
foreach ($arr as $k => $v) {
    if (strpos($v, $prefix) === 0) {
        echo $v . "\n";
    }
}
Salin selepas log masuk

4. Gunakan fungsi array_intersect untuk pertimbangan

Selain menggunakan fungsi in_array dan pertimbangan nilai kunci tatasusunan, anda juga boleh menggunakan fungsi array_intersect untuk pertimbangan. Penggunaan khusus adalah untuk meletakkan nilai yang akan ditemui ke dalam tatasusunan, dan kemudian gunakan fungsi array_intersect untuk mengeluarkan persilangan dua tatasusunan dan menentukan sama ada tatasusunan persimpangan mempunyai nilai. Kod sampel adalah seperti berikut:

Hasil output ialah: pisang berada dalam tatasusunan.
$arr = array('apple', 'banana', 'orange', 'pear');
$search_arr = array('banana', 'grape');
$res_arr = array_intersect($search_arr, $arr);
if ($res_arr) {
    echo implode(',', $res_arr) . ' are in the array';
} else {
    echo 'no value in the array';
}
Salin selepas log masuk
Salin selepas log masuk

Ringkasan

Artikel ini memperkenalkan pelbagai kaedah untuk menentukan sama ada nilai wujud dalam tatasusunan dalam php, termasuk menggunakan fungsi in_array, menggunakan pertimbangan nilai kunci tatasusunan, menggunakan fungsi in_array untuk fuzzy padanan, dan menggunakan fungsi array_intersect untuk menilai. Kaedah yang berbeza sesuai untuk senario yang berbeza, dan pembangun boleh memilih mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada nilai wujud dalam tatasusunan dalam php? Analisis ringkas kaedah. 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