Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menapis Array dalam PHP Seperti `LIKE \'%search%\'` SQL?

Bagaimana untuk Menapis Array dalam PHP Seperti `LIKE \'%search%\'` SQL?

DDD
Lepaskan: 2024-11-04 03:19:31
asal
851 orang telah melayarinya

How to Filter an Array in PHP Like SQL's `LIKE '%search%'`?

Menapis Nilai daripada Array Serupa dengan SQL LIKE '%search%'

Merancang medan autolengkap menggunakan JQueryUI menimbulkan cabaran apabila ia datang untuk menapis nilai daripada tatasusunan berdasarkan input pengguna. Pertimbangkan tatasusunan yang mengandungi warna: ['oren', 'biru', 'hijau', 'merah', 'merah jambu', 'coklat', 'hitam']. Jika pengguna menaip 'bl,' output yang dikehendaki ialah ['biru', 'hitam'].

Untuk mencapai ini, seseorang mungkin mempertimbangkan untuk menggunakan array_diff(), tetapi pendekatan yang lebih sesuai wujud: preg_grep. Fungsi ini menggabungkan ungkapan biasa dengan penapisan, menjadikannya ideal untuk tugas yang sedang dijalankan.

Pelaksanaan menggunakan preg_grep:

<code class="php">$input = preg_quote('bl', '~'); // Don't forget to quote the input string
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');

$result = preg_grep('~' . $input . '~', $data);</code>
Salin selepas log masuk

Dalam kod ini, preg_quote digunakan untuk melarikan aksara khas dalam rentetan input. Ungkapan biasa '~w ~' sepadan dengan mana-mana perkataan (satu atau lebih huruf) yang mengandungi rentetan yang dimasukkan. preg_grep kemudian menggunakan penapis ini pada tatasusunan data, menghasilkan padanan yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Array dalam PHP Seperti `LIKE \'%search%\'` SQL?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan