Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mencapai Kefungsian SQL LIKE \'%search%\' dalam Tatasusunan PHP?
Penapisan SQL Serupa dalam PHP: Mengembalikan Padanan dengan Teks Separa
Menapis nilai daripada tatasusunan berdasarkan carian teks separa, serupa dengan SQL SEPERTI pertanyaan '%search%', boleh menjadi tugas penting dalam banyak senario pengaturcaraan. Dalam PHP, mencapai ini menggunakan tatasusunan memerlukan teknik khusus.
Mari kita pertimbangkan contoh yang diberikan. Memandangkan tatasusunan yang mengandungi nama warna, matlamatnya adalah untuk mengembalikan hanya warna yang separa sepadan dengan teks input pengguna. Sebagai contoh, dengan input "bl", output yang dijangkakan ialah ["biru", "hitam"] daripada tatasusunan input ["oren", "biru", "hijau", "merah", "merah jambu", "coklat", "hitam"].
Menggunakan Ungkapan Biasa dengan preg_grep
Daripada menggunakan array_filter dengan fungsi lambda tersuai, pendekatan yang lebih mudah dan cekap adalah dengan menggunakan fungsi preg_grep. Ia menggabungkan kuasa ungkapan biasa dengan penapisan tatasusunan:
<code class="php">$input = preg_quote('bl', '~'); // Quote the input string for use in regex $data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black'); $result = preg_grep('~' . $input . '~', $data);</code>
Dalam kod ini:
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Kefungsian SQL LIKE \'%search%\' dalam Tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!