>  기사  >  백엔드 개발  >  SQL\의 LIKE 연산자와 유사한 패턴을 사용하여 PHP에서 배열을 필터링하려면 어떻게 해야 합니까?

SQL\의 LIKE 연산자와 유사한 패턴을 사용하여 PHP에서 배열을 필터링하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 20:39:02712검색

How Can I Filter an Array in PHP Using a Pattern Similar to SQL's LIKE Operator?

PHP에서 SQL LIKE '%search%'를 사용하여 배열에서 값 필터링

지정된 패턴과 일치하는 사용자 입력을 기반으로 배열에서 값을 필터링하려면 정규 표현식과 함께 PHP의 강력한 preg_grep 기능을 활용할 수 있습니다.

$data가 색상을 포함하는 배열인 다음 예를 고려하십시오.

<code class="php"><?php
$data = array('orange', 'blue', 'green', 'red', 'pink', 'brown', 'black');</code>

사용자 입력을 기반으로 일치하는 항목을 찾으려면, $input으로 표시할 경우 다음을 수행할 수 있습니다.

<code class="php"><?php
$input = 'bl';
$input = preg_quote($input, '~'); // Escape special characters in input

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

이 예에서는 특수 문자가 올바르게 처리되도록 preg_quote를 사용하여 입력을 인용합니다. 그런 다음 배열 요소의 모든 부분에서 $input과 일치하는 항목을 찾는 정규식과 함께 preg_grep을 사용합니다.

결과는 다음 항목만 포함하는 배열입니다.

<code class="php"><?php
array(
    'blue',
    'black',
);</code>

By 이 기술을 사용하면 사용자 입력을 기반으로 배열을 효율적으로 필터링할 수 있으며 SQL의 LIKE '%search%' PHP 배열용 연산자입니다.

위 내용은 SQL\의 LIKE 연산자와 유사한 패턴을 사용하여 PHP에서 배열을 필터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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