Bagaimana Menapis Nilai Tatasusunan Seperti SQL SEPERTI \'%search%\' Menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-11-04 04:32:29
asal
769 orang telah melayarinya

How to Filter Array Values Like SQL LIKE '%search%' Using PHP?

Menapis Nilai Tatasusunan Seperti SQL SEPERTI '%search%' Menggunakan PHP

Untuk melaksanakan ciri autolengkap menggunakan JQueryUI, mendapatkan padanan abjad daripada tatasusunan berdasarkan input pengguna adalah penting. Pertimbangkan tatasusunan ["oren", "biru", "hijau", "merah", "merah jambu", "coklat", "hitam"]. Jika pengguna memasukkan "bl," anda hanya mahu memaparkan ["biru", "hitam"].

Daripada menggunakan array_filter dengan fungsi tersuai, penyelesaian yang lebih cekap ialah menggunakan fungsi preg_grep, yang membenarkan penapisan menggunakan ungkapan biasa.

Contoh:

<code class="php">$input = preg_quote('bl', '~'); // Protect against regex special characters
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);

print_r($result); // Output: Array ( [0] => blue [1] => black )</code>
Salin selepas log masuk

Penjelasan:

  • preg_quote(' bl', '~') melepaskan aksara khas dalam rentetan input, memastikan bahawa ia dirawat secara literal dalam ungkapan biasa.
  • Ungkapan biasa ~ . $input . ~ mencari elemen dalam tatasusunan yang mengandungi rentetan input "bl" di mana-mana sahaja dalam nilai.
  • preg_grep menggunakan penapis ungkapan biasa ini pada tatasusunan $data, mengembalikan tatasusunan yang mengandungi hanya padanan yang memenuhi syarat.

Atas ialah kandungan terperinci Bagaimana Menapis Nilai Tatasusunan Seperti SQL SEPERTI \'%search%\' Menggunakan 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!