<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 이 부분은 기사의 내용과 관련이 없습니다.,프로그램의 초기화 또는 다른 것일 수 있습니다.</span></span><span>
</span><span><span class="hljs-comment">// 예를 들어, 시간대를 설정합니다</span></span><span>
</span><span><span class="hljs-title function_ invoke__">date_default_timezone_set</span></span><span>(</span><span><span class="hljs-string">'Asia/Shanghai'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* stristr두 번째 매개 변수 유형의 함수를 사용하는 방법?
* 문자열과 배열의 차이에 대한 자세한 설명
*
* 존재하다PHP가운데,stristr函数用于존재하다字符串가운데查找某个子串,그리고 하위 문자열의 첫 번째 발생에서 문자열 끝까지 부분을 반환합니다.。
* 기본 사용법입니다:
* string stristr(string $haystack, string $needle, bool $before_needle = false)
* 其가운데:
* - $haystack 문자열이 검색되고 있습니다
* - $needle 문자열이 발견됩니다
* - $before_needle 선택 과목,만약에true,그런 다음 돌아옵니다needle이전 부분
*
* 하지만,일부 개발자는 혼란 스러울 것입니다:stristr두 번째 매개 변수를 배열로 전달할 수 있습니다?또는 배열을 전달하는 것과 문자열 전달의 차이점은 무엇입니까??
*
* 하나、stristr두 번째 매개 변수 유형 제한
* stristr함수의 두 번째 매개 변수는 문자열 유형이어야합니다.,배열을 통과 할 수 없습니다。배열을 통과하는 경우,PHP오류를보고합니다:
* Warning: stristr() expects parameter 2 to be string, array given
*
* 그러므로,엄격하게 말하면,stristr문자열 만 두 번째 매개 변수로 허용됩니다。
*
* 둘、통과 배열에 대한 오해가있는 이유는 무엇입니까??
* 어떤 시나리오에서,开发者想用多个关键词去搜索字符串是否包含其가운데任意하나个,만약에stristr只能하나次查하나个字符串。
* 현재,일반적인 관행은 배열을 사용하여 여러 키워드를 저장하는 것입니다.,然后遍历数组逐하나调用stristr경기。
*
* 삼、멀티 키워드 매칭을 달성하는 방법(배열 효과를 시뮬레이션하십시오)
* 샘플 코드는 다음과 같습니다:
*/</span>
</span><span><span class="hljs-variable">$keywords</span></span><span> = [</span><span><span class="hljs-string">'apple'</span></span><span>, </span><span><span class="hljs-string">'banana'</span></span><span>, </span><span><span class="hljs-string">'orange'</span></span><span>];
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"I like banana and orange juice."</span></span><span>;
</span><span><span class="hljs-variable">$found</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$keywords</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$word</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">stristr</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-variable">$word</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$found</span></span><span> = </span><span><span class="hljs-variable">$word</span></span><span>;
</span><span><span class="hljs-keyword">break</span></span><span>;
}
}
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$found</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"키워드를 찾으십시오:<span class="hljs-subst">$found</span></span></span><span>\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"没有키워드를 찾으십시오。\n"</span></span><span>;
}
<span class="hljs-comment">/**
* 네、요약
* - stristr的第둘个参数必须是字符串,배열을 직접 통과 할 수 없습니다。
* - 여러 키워드 일치가 필요한 경우,배열을 직접 고리 할 수 있습니다,하나씩 전화하십시오stristr심판。
* - 这样可以灵活地심판字符串是否包含任하나多个关键词。
*
* 다섯、기타 관련 기능
* - stripos: 무감각하게 문자열 위치를 찾으십시오,第둘个参数也是字符串。
* - preg_match: 멀티 키워드 매칭은 정규 표현식을 통해 달성 할 수 있습니다,예를 들어, 사용pattern /(apple|banana|orange)/i。
*
* 위의 것은stristr函数第둘个参数的类型用法及字符串和数组区别的详细说明与示例。
*/</span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>