현재 위치: > 최신 기사 목록> substr_count 함수를 사용하여 문자열에서 특정 문자의 발생 수를 계산하는 방법에 대한 자세한 설명

substr_count 함수를 사용하여 문자열에서 특정 문자의 발생 수를 계산하는 방법에 대한 자세한 설명

gitbox 2025-06-15

1. substr_count () 함수의 기본 구문

substr_count () 함수의 기본 구문은 다음과 같습니다.

 substr_count(string $haystack, string $needle, int $offset = 0, int $length = NULL): int
  • $ Haystack : 검색 할 기본 문자열.

  • $ 바늘 : 찾을 수있는 하위 문자 (또는 단일 문자).

  • $ 오프셋 : 선택한 매개 변수, 검색을 시작할 위치를 지정합니다 (기본값은 문자열의 시작부터 시작).

  • $ length : 옵션 매개 변수, 조회의 최대 길이를 지정합니다 (전체 문자열은 기본적으로 찾을 수 있음).

이 함수는 $ beless가 $ haystack 에 나타나는 횟수를 나타내는 정수를 반환합니다. $ beless가 $ haystack 에 존재하지 않으면 0을 반환하십시오.


2. 기본 예

우리가 줄이 있고 특정 문자의 발생 수를 계산하고 싶다고 가정 해 봅시다. 간단한 예는 다음과 같습니다.

 <?php
$string = "hello world, hello PHP!";
$char = "o";

// 사용 substr_count 함수 통계 문자 "o" 발생 수
$count = substr_count($string, $char);

echo "성격 '$char' 발생 수是: $count"; // 산출:성격 'o' 발생 수是: 3
?>

위의 코드에서, 우리는 문자열 "Hello World, Hello Php!" 에 캐릭터 "O" 가 나타나는 횟수를 계산했습니다. 결과 출력은 3입니다.


3. 통계 하위 문자열 발생 수

단일 문자의 발생 수를 계산하는 것 외에도 Substr_Count ()를 사용하여 대상 문자열에서 하위 문자열 발생 수를 계산할 수도 있습니다. 예를 들어:

 <?php
$string = "abcabcabcabc";
$substring = "abc";

// 사용 substr_count 函数统计子성격串 "abc" 발생 수
$count = substr_count($string, $substring);

echo "子성격串 '$substring' 발생 수是: $count"; // 산출:子성격串 'abc' 발생 수是: 4
?>

이 예에서, 우리는 "ABC"가 "ABCABCABCABC" 에 나타나는 기판 "ABC"의 횟수를 계산하고 출력은 4입니다.


4. 오프셋길이 매개 변수를 사용하십시오

substr_count () 함수는 오프셋길이 매개 변수도 지원하므로 검색 범위를 제한 할 수 있습니다. 예를 들어:

 <?php
$string = "hello world, hello PHP!";
$char = "o";

// 인덱스 위치에서 5 검색을 시작하십시오,대부분의 검색 10 个성격
$count = substr_count($string, $char, 5, 10);

echo "성격 '$char' 색인에서 5 시작,대부분의 검색 10 个성격,발생 수是: $count"; // 산출:성격 'o' 색인에서 5 시작,대부분의 검색 10 个성격,발생 수是: 1
?>

이 예에서는 문자열의 5 번째 문자로 시작하여 검색의 최대 길이는 10 자입니다. 따라서 "World, Hello PHP!" 에서 문자 "O" 의 발생 수만 계산합니다. 부분, 결과는 1입니다.


5. 주목할만한 것들

  • substr_count () 함수는 사례에 민감하므로 "o""o" 는 다른 문자로 간주됩니다. 사례에 민감한 조회가 필요한 경우 먼저 문자열을 strtolower () 또는 strtoupper () 사용과 같은 균일 한 케이스로 변환 할 수 있습니다.

    예를 들어:

     <?php
    $string = "Hello World, hello PHP!";
    $char = "o";
    
    // 将성격串转换为小写后再查找
    $count = substr_count(strtolower($string), strtolower($char));
    
    echo "성격 '$char' 在不区分大小写的情况下발생 수是: $count"; // 산출:성격 'o' 在不区分大小写的情况下발생 수是: 3
    ?>
    
  • $ 니들이 빈 문자열 인 경우, substr_count () 는 0을 반환합니다. 이는 빈 문자열을 서브 스트링으로 계산할 수 없기 때문입니다.