>  기사  >  백엔드 개발  >  PHP를 사용하여 \'%search%\'와 같은 SQL과 같은 배열 값을 필터링하는 방법은 무엇입니까?

PHP를 사용하여 \'%search%\'와 같은 SQL과 같은 배열 값을 필터링하는 방법은 무엇입니까?

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', '~')는 입력 문자열에서 특수 문자를 이스케이프하여 정규 표현식에서 문자 그대로 처리되도록 합니다.
  • 정규 표현식 ~ . $ 입력 . ~ 값 내 어디에서나 입력 문자열 "bl"이 포함된 배열 요소를 검색합니다.
  • preg_grep은 이 정규식 필터를 $data 배열에 적용하여 조건을 만족하는 일치 항목만 포함하는 배열을 반환합니다.

위 내용은 PHP를 사용하여 \'%search%\'와 같은 SQL과 같은 배열 값을 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.