Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Menapis Nilai Tatasusunan Seperti SQL SEPERTI \'%search%\' Menggunakan PHP?

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

Susan Sarandon
Lepaskan: 2024-11-04 04:32:29
asal
894 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!

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