Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
PHPzasal
2023-04-14 17:45:58799semak imbas

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 ] )

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';
}

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';
}

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';
}

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';
}

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";
    }
}

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';
}

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!

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