Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada rentetan terkandung dalam tatasusunan dalam php

Bagaimana untuk menentukan sama ada rentetan terkandung dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 09:12:38679semak imbas

Dalam PHP, kita selalunya perlu menentukan sama ada rentetan terkandung dalam tatasusunan. Masalah ini mungkin sukar untuk pemula, tetapi penyelesaian kepada masalah ini sebenarnya sangat mudah. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah dalam PHP untuk menentukan sama ada rentetan terkandung dalam tatasusunan.

  1. fungsi in_array

fungsi in_array ialah fungsi dalam PHP yang digunakan untuk menentukan sama ada nilai wujud dalam tatasusunan. Sintaks fungsi ini ialah:

in_array($needle, $haystack, $strict)

di mana $needle mewakili nilai yang akan ditemui, $haystack mewakili array yang akan ditemui, dan $strict mewakili Sama ada hendak menggunakan mod ketat untuk mencari. Jika $strict adalah benar, fungsi in_array juga membandingkan jenis data pembolehubah untuk kesamaan. Nilai pulangan benar menunjukkan bahawa nilai itu ditemui, salah menunjukkan bahawa ia tidak dijumpai.

Berikut ialah contoh mudah:

$arr = array('apple', 'banana', 'orange');
if (in_array('banana', $arr)) {
    echo 'find it!';
} else {
    echo 'not found';
}

Hasil yang sedang dijalankan ialah: cari!

  1. fungsi carian_array

array_search Fungsi juga merupakan fungsi yang digunakan untuk mencari nilai yang ditentukan dalam tatasusunan. Sintaks fungsi ini ialah:

array_search($needle, $haystack, $strict)

di mana $needle mewakili nilai yang akan ditemui, $haystack mewakili array yang akan ditemui, dan $strict mewakili Sama ada hendak menggunakan mod ketat untuk mencari. Mengembalikan kedudukan nilai dalam tatasusunan, atau palsu jika tidak dijumpai.

Berikut ialah contoh mudah:

$arr = array('apple', 'banana', 'orange');
$index = array_search('banana', $arr);
if ($index !== false) {
    echo 'find it at index ' . $index;
} else {
    echo 'not found';
}

Hasil yang sedang dijalankan ialah: cari di indeks 1

Perlu diambil perhatian bahawa fungsi array_search mengembalikan nilai dalam Kedudukan dalam tatasusunan, bukan sama ada nilai itu wujud. Oleh itu, anda perlu menggunakan $index !== false untuk menentukan sama ada nilai itu wujud.

  1. Gunakan ungkapan biasa

Ungkapan biasa ialah alat pemadanan rentetan yang berkuasa, yang juga sering digunakan untuk memproses rentetan dalam PHP. Jika kita ingin menentukan sama ada rentetan terkandung dalam tatasusunan, kita juga boleh menggunakan ungkapan biasa untuk mencapai ini.

Secara khusus, kita boleh memisahkan semua elemen dalam tatasusunan dengan bar menegak (|), menjana ungkapan biasa, dan kemudian menggunakan fungsi preg_match untuk memadankan rentetan.

Berikut ialah contoh mudah:

$arr = array('apple', 'banana', 'orange');
$regex = '/^(?:' . implode('|', $arr) . ')$/';
if (preg_match($regex, 'banana')) {
    echo 'find it!';
} else {
    echo 'not found';
}

Dalam kod di atas, fungsi implode digunakan untuk memisahkan semua elemen dalam tatasusunan dengan bar menegak untuk menjana ungkapan biasa. Kami kemudian menggunakan fungsi preg_match untuk memadankan rentetan dan mengembalikan benar jika ditemui, jika tidak palsu.

Perlu diambil perhatian bahawa ungkapan biasa yang kami hasilkan menggunakan pembatas (^ dan $) pada permulaan dan akhir, yang bermaksud bahawa ungkapan biasa hanya boleh memadankan keseluruhan rentetan, bukan dalam bahagian rentetan . Dengan cara ini, apabila mencari sama ada rentetan terkandung dalam tatasusunan, tidak akan ada kes seperti "anggur" disalah anggap sebagai "raspberi".

Kesimpulan

Melalui tiga kaedah di atas, kita boleh menentukan dengan mudah sama ada rentetan terkandung dalam tatasusunan. Menggunakan fungsi in_array dan array_search secara langsung ialah kaedah yang paling mudah, manakala menggunakan ungkapan biasa boleh memenuhi keperluan yang lebih kompleks. Pada masa yang sama, kita juga perlu memberi perhatian kepada kelebihan dan kekurangan pelbagai kaedah dan memilih kaedah yang sesuai dengan kita untuk menyelesaikan masalah.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada rentetan terkandung dalam tatasusunan 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