백엔드 개발 PHP 문제 PHP에 하위 문자열이 있는지 확인하는 방법

PHP에 하위 문자열이 있는지 확인하는 방법

Oct 13, 2022 pm 06:42 PM
php PHP 문자열

4가지 방법: 1. "stripos($str,$find)" 구문으로 부분 문자열의 발생 위치를 찾기 위해 Stripos()를 사용합니다. 2. 부분 문자열의 발생 위치를 찾기 위해 strripos()를 사용합니다. "strripos($ str,$find)"; 3. strpos()를 사용하여 하위 문자열의 발생 위치를 찾습니다. 구문 "strpos($str,$find)" 4. strrpos()를 사용하여 발생 위치를 찾습니다. 하위 문자열의 구문은 "strrpos($ str,$find)"입니다.

PHP에 하위 문자열이 있는지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터

문자열 검색 작업을 수행할 때 때로는 특정 하위 문자열(하위 문자열이라고 함)을 찾아야 하는 경우가 있습니다. 특정 문자열.string) 이 문자열에 하위 문자열이 있는지 확인합니다.

우리는 일반적으로 PHP 내장 함수를 사용하여 문자열에서 이 하위 문자열이 처음으로 나타나는지 또는 마지막으로 나타나는지를 찾아 판단합니다. 문자열 검색에는 두 가지 상황이 있습니다. 하나는 대소문자를 구분하지 않는 검색이고, 다른 하나는 대소문자를 구분하는 검색입니다.

케이스 1: 하위 문자열이 존재하는지 확인(대소문자 구분 안 함)

대소문자를 구분하지 않고 하위 문자열이 존재하는지 감지하려면 Stripos() 및 strripos() 함수를 사용해야 합니다.

stripos() 및 strripos() 함수 모두 대소문자를 구분하지 않고 지정된 하위 문자열의 발생 위치를 확인할 수 있습니다. 반환 값이 FALSE이면 지정된 하위 문자열이 존재하지 않습니다.

따라서 다음 코드를 사용하여 하위 문자열이 존재하는지 확인할 수 있습니다.

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme = "bC";

if(stripos($string, $findme)!=FALSE){
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}

if(strripos($string, $findme)!=FALSE){
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中存在。";
}else{
	echo "<br>子串  “&#39;$findme&#39;” 在字符串  “&#39;$string&#39;” 中不存在。";
}
?>

출력 결과:

PHP에 하위 문자열이 있는지 확인하는 방법

설명: Stripos() 및 strripos() 함수

stripos($string,$ The find,$start) 함수는 다른 문자열에서 처음 나타나는 문자열을 찾을 수 있습니다(대소문자 구분 없음). stripos($string,$find,$start)函数可以查找字符串在另一字符串中第一次出现的位置(不区分大小写)。

strripos($string,$find,$start)函数可以查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。

这两个函数的参数是相似的,都接受两个必需参数$string$find,一个可省略参数$start

  • $string参数:用于指定要被查找的字符串。

  • $find参数:用于指定要查找的子串,可以包含一个或者多字符。(如果不是字符串类型,那么它将被转换为整型并被视为字符顺序值)。

  • $start参数:用于指定从$string 中的哪个字符开始查找,返回的位置数字值仍然相对于 $string 的起始位置。

情况2:检测子串是不是存在(大小写敏感)

大小写敏感的检测子串是不是存在,需要使用strpos()和strrpos()函数。

strpos()和strrpos()函数可以大小写敏感的检查指定子串的出现位置,如果返回值为FALSE,则指定子串不存在。

示例:

<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCDCBAbcd";
$findme1 = "bC";
$findme2 = "bc";
$pos1 = strpos($string, $findme1);
$pos2 = strrpos($string, $findme1);
$pos3 = strpos($string, $findme2);
$pos4 = strrpos($string, $findme2);

if($pos1 !=FALSE){
	echo "子串 &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos2 !=FALSE){
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme1&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
if($pos3 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}

if($pos4 !=FALSE){
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中存在。";
}else{
	echo "<br>子串  &#39;$findme2&#39; 在字符串  &#39;$string&#39; 中不存在。";
}
?>

strpos()和strrpos()函数会区分大小写的在字符串$string中查找子串$findme1或者$findme2。当完全匹配上,存在子串时,会返回子串在字符串的第一次或最后一次的出现位置;如果在字符串的没有找到子串,则返回FALSE

从上面的例子可以看出,只有子串"bc"和字符串“ABCDCBAbcd”是完全匹配,子串"bc"被认为是存在于字符串“ABCDCBAbcd”中的。因此输出结果为:

PHP에 하위 문자열이 있는지 확인하는 방법

说明:strpos()和strrpos()函数

  • strpos($string,$find,$start)函数可以返回子字符串首次出现的位置(区分大小写);

  • strrpos($string,$find,$start)函数可以返回子字符串最后一次出现的位置(区分大小写);

strpos()和strrpos()函数相似,都接受两个必需参数$string(被查找的字符串)和$find(要查找的子串),一个可省略参数$startstrripos($string,$find,$start) 함수는 다른 문자열에서 마지막으로 나타나는 문자열을 찾을 수 있습니다(대소문자 구분 없음).

이 두 함수의 매개변수는 유사합니다. 두 가지 필수 매개변수 $string$find와 생략된 매개변수 $start를 허용합니다. .

  • $string 매개변수: 찾을 문자열을 지정하는 데 사용됩니다.

  • PHP에 하위 문자열이 있는지 확인하는 방법$find 매개변수: 찾을 하위 문자열을 지정하는 데 사용되며 하나 이상의 문자를 포함할 수 있습니다. (문자열 타입이 아닌 경우 정수로 변환되어 문자순의 값으로 처리됩니다.)

  • $start 매개변수: $string에서 검색을 시작할 문자를 지정하는 데 사용됩니다. 반환된 위치 숫자 값은 여전히 ​​<에 상대적입니다. code >$string의 시작 위치.

🎜Case 2: 하위 문자열이 존재하는지 감지(대소문자 구분) 🎜🎜🎜🎜 하위 문자열이 대소문자를 구분하여 존재하는지 감지하려면 strpos() 및 strrpos() 함수를 사용해야 합니다. . 🎜🎜strpos() 및 strrpos() 함수는 대소문자를 구분하여 지정된 하위 문자열의 발생 위치를 확인할 수 있습니다. 반환 값이 FALSE인 경우 지정된 하위 문자열이 존재하지 않습니다. 🎜🎜예: 🎜
<?php
header("Content-type:text/html;charset=utf-8");
$string = "ABCabcabcABC";
$findme1 = "c";
$findme2 = "C";
echo "子串  &#39;$findme1&#39; 第一次出现的位置:".strpos($string, $findme1);
echo "<br>子串  &#39;$findme1&#39; 最后一次出现的位置:".strrpos($string, $findme1);
echo "<br>子串  &#39;$findme2&#39; 第一次出现的位置:".strpos($string, $findme2);
echo "<br>子串  &#39;$findme2&#39; 最后一次出现的位置:".strrpos($string, $findme2);
?>
🎜strpos() 및 strrpos() 함수는 문자열 $string에서 하위 문자열 $findme1 또는 $를 대소문자를 구분하여 findme2. 정확히 일치하는 항목이 있고 하위 문자열이 존재하는 경우 문자열에서 해당 하위 문자열이 처음 또는 마지막으로 나타나는 경우가 반환됩니다. 하위 문자열이 문자열에서 발견되지 않으면 <code>FALSE가 반환됩니다. 🎜🎜위의 예에서 볼 수 있듯이 하위 문자열 "bc"와 문자열 "ABCDCBAbcd"만 완전히 일치하고 하위 문자열 "bc" >"는 "<code>ABCDCBAbcd" 문자열에 있는 것으로 간주됩니다. 따라서 출력 결과는 다음과 같습니다. 🎜🎜PHP에 하위 문자열이 있는지 확인하는 방법 🎜🎜🎜설명: strpos() 및 strrpos() 함수🎜🎜
  • 🎜strpos($string,$find,$start ) 함수는 하위 문자열이 처음 나타나는 위치를 반환할 수 있습니다(대소문자 구분). 🎜
  • 🎜strrpos($string,$find,$start) 함수는 하위 문자열의 마지막 발생 위치를 반환할 수 있습니다(대소문자 구분). 🎜
🎜strpos() 및 strrpos() 함수는 유사하며 둘 다 두 개의 필수 매개 변수를 허용합니다. $string(찾을 문자열) 및 <code>$find(찾을 하위 문자열) 및 선택적 매개변수 $start(검색 시작 위치). 🎜참고: 문자열 위치는 1이 아닌 0에서 시작합니다. 🎜🎜rrreee🎜출력 결과: 🎜🎜🎜🎜🎜권장 학습: "🎜PHP 비디오 튜토리얼🎜"🎜

위 내용은 PHP에 하위 문자열이 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1545
276
PHP의 객체 관계 매핑 (ORM) 성능 튜닝 PHP의 객체 관계 매핑 (ORM) 성능 튜닝 Jul 29, 2025 am 05:00 AM

N 1 쿼리 문제를 피하고 관련 데이터를 미리로드하여 데이터베이스 쿼리 수를 줄입니다. 2. 메모리와 대역폭을 저장하기 위해 완전한 엔티티를로드하지 않도록 필요한 필드 만 선택하십시오. 3. 교리의 2 차 캐시 또는 Redis 캐시 고주파 쿼리 결과와 같은 캐시 전략을 합리적으로 사용하십시오. 4. 엔티티 수명주기를 최적화하고 정기적으로 Clear ()을 호출하여 메모리를 자유롭게하여 메모리 오버플로를 방지합니다. 5. 데이터베이스 색인이 존재하는지 확인하고 비효율적 인 쿼리를 피하기 위해 생성 된 SQL 문을 분석하십시오. 6. 변경 사항이 필요하지 않은 시나리오에서 자동 변경 추적을 비활성화하고 배열 또는 경량 모드를 사용하여 성능을 향상시킵니다. ORM을 올바르게 사용하려면 개발 효율을 유지하면서 응용 프로그램 성능을 보장하기 위해 SQL 모니터링, 캐싱, 배치 처리 및 적절한 최적화를 결합해야합니다.

vscode settings.json 위치 vscode settings.json 위치 Aug 01, 2025 am 06:12 AM

settings.json 파일은 사용자 수준 또는 작업 공간 수준 경로에 있으며 VSCODE 설정을 사용자 정의하는 데 사용됩니다. 1. 사용자 수준 경로 : Windows는 C : \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS IS /users//library/applicationsupport/code/user/settings.json, linux는 /home//.config/code/user/settings.json; 2. Workspace 수준 경로 : .vscode/settings project root 디렉토리

Readonly 속성으로 PHP에 불변의 물체를 구축합니다 Readonly 속성으로 PHP에 불변의 물체를 구축합니다 Jul 30, 2025 am 05:40 AM

readOnlyPropertiesInphp8.2CanonlyBeassignedOnedOneDonceIntheConstructorAratDeclarationandCannotBemodififificificificifified

CSS 다크 모드 전환 예 CSS 다크 모드 전환 예 Jul 30, 2025 am 05:28 AM

먼저 JavaScript를 사용하여 사용자 시스템 환경 설정과 로컬로 저장된 테마 설정을 얻고 페이지 테마를 초기화하십시오. 1. HTML 구조에는 주제 스위칭을 트리거하는 버튼이 포함되어 있습니다. 2. CSS 사용 : 루트는 밝은 테마 변수를 정의하기 위해 루트, .dark-mode 클래스는 어두운 테마 변수를 정의하고 var ()를 통해 이러한 변수를 적용합니다. 3. JavaScript는 색채를 선호하는 것을 감지하고 초기 테마를 결정하기 위해 LocalStorage를 읽습니다. 4. 버튼을 클릭 할 때 HTML 요소에서 Dark-Mode 클래스를 전환하고 현재 상태를 LocalStorage에 저장합니다. 5. 모든 색상 변경 사항은 0.3 초 전환 애니메이션을 동반하여 사용자를 향상시킵니다.

예제 HTTP 미들웨어 로깅 예제로 이동하십시오 예제 HTTP 미들웨어 로깅 예제로 이동하십시오 Aug 03, 2025 am 11:35 AM

GO의 HTTP 로그 미들웨어는 요청 방법, 경로, 클라이언트 IP 및 시간 소모를 기록 할 수 있습니다. 1. http.handlerfunc를 사용하여 프로세서를 랩핑하고, 2. 다음에 전화하기 전후 시작 시간과 종료 시간을 기록하십시오. 전체 샘플 코드는 실행중인 것으로 확인되었으며 중소형 프로젝트를 시작하는 데 적합합니다. 확장 제안에는 상태 코드 캡처, JSON 로그 지원 및 요청 ID 추적이 포함됩니다.

Edge PDF 뷰어가 작동하지 않습니다 Edge PDF 뷰어가 작동하지 않습니다 Aug 07, 2025 pm 04:36 PM

TestHepdFinanotherAppTodeMineifTheissueiswithTheFileoredge.2

Java 성능 최적화 및 프로파일 링 기술 Java 성능 최적화 및 프로파일 링 기술 Jul 31, 2025 am 03:58 AM

성능 분석 도구를 사용하여 병목 현상을 찾고 개발 및 테스트 단계에서 VisualVM 또는 JProfiler를 사용하며 생산 환경에서 Async-Profiler에 우선 순위를 부여합니다. 2. 객체 생성을 줄이고, 개체를 재사용하고, StringBuilder를 사용하여 문자열 스 플라이 싱을 교체하고, 적절한 GC 전략을 선택하십시오. 3. 장면에 따라 수집 사용을 최적화하고 초기 용량을 선택하고 사전 설정합니다. 4. 동시성 최적화, 동시 컬렉션을 사용하고, 잠금 세분화를 줄이고, 스레드 풀을 합리적으로 설정하십시오. 5. JVM 매개 변수 조정, 합리적인 힙 크기 및 저도 가비지 수집기를 설정하고 GC 로그를 활성화합니다. 6. 코드 레벨에서 반사를 피하고, 래퍼 클래스를 기본 유형으로 바꾸고, 초기화를 지연시키고, 최종 및 정적을 사용하십시오. 7. JMH와 결합 된 지속적인 성능 테스트 및 모니터링

데이터 스크래핑 및 웹 자동화에 PHP 사용 데이터 스크래핑 및 웹 자동화에 PHP 사용 Aug 01, 2025 am 07:45 AM

ustuzzleforrobusthtttprequestswithHeadSandtimeouts.2.parsehtMleffiallywithSymfonyDomcraWlerusingcsSelectors.3. handlejavaScript-heaVysitesByIntegratingPuppetErgateErgateEcpExec () TorenderPages.4.Resptobots.txt, AddDelays, andUsepoTecpexec () TorenderPages

See all articles