首頁  >  文章  >  後端開發  >  如何使用 PHP 過濾類似 SQL LIKE \'%search%\' 的陣列值?

如何使用 PHP 過濾類似 SQL LIKE \'%search%\' 的陣列值?

Susan Sarandon
Susan Sarandon原創
2024-11-04 04:32:29770瀏覽

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

使用PHP 過濾數組值,例如SQL LIKE '%search%'

要使用JQueryUI 實現自動完成功能,從基於用戶輸入的數組至關重要。考慮一個陣列[“橙色”,“藍色”,“綠色”,“紅色”,“粉紅色”,“棕色”,“黑色”]。如果使用者輸入“bl”,您只想顯示 [“blue”, “black”]。

不使用帶有自訂函數的 array_filter,更有效的解決方案是使用 preg_grep 函數,該函數允許使用正規表示式進行過濾。

範例:

<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>

說明:

  • preg_quote(' bl', '')
  • preg_quote(' bl', '')對輸入字串中的特殊字元進行轉義,確保在正規表示式中按照字面意思處理。
  • 正規表示式 ~ 。 $輸入。 ~ 搜尋陣列中位數中任意位置包含輸入字串「bl」的元素。
preg_grep 將此正規表示式過濾器套用至 $data 數組,傳回僅包含滿足條件的符合項目的陣列。

以上是如何使用 PHP 過濾類似 SQL LIKE \'%search%\' 的陣列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn