Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP substr() 함수 완벽 정리: 문자열 일부 추출하는 방법

PHP substr() 함수란?

PHP는 다양한 기능을 수행하는 수많은 내장 함수를 제공합니다. 그중 substr()은 문자열을 다루는 대표적인 내장 함수로, 원본 문자열에서 원하는 부분만 잘라내어 추출할 때 사용됩니다.

substr() 함수의 기본 문법은 아래와 같습니다.

substr(string, start, length)

substr() 함수는 총 세 개의 매개변수를 받을 수 있으며, 이중 두 개는 필수이고 하나는 선택 사항입니다. 각 매개변수를 하나씩 살펴보겠습니다.

1. string (문자열) — 필수

잘라내거나 조작하려는 대상이 되는 원본 문자열입니다. 이 매개변수는 반드시 입력해야 합니다.

2. start (시작 위치) — 필수

문자열 추출을 시작할 위치를 의미하며, 정수 값으로 지정해야 합니다.

  • 양수일 경우: 문자열의 처음부터 해당 위치에 도달한 지점에서 추출이 시작됩니다.
  • 음수일 경우: 문자열의 끝에서부터 거꾸로 센 위치에서 추출이 시작됩니다.

3. length (길이) — 선택

원본 문자열에서 잘라낼 부분의 길이를 나타내며, 역시 정수 값으로 지정합니다.

  • 양수일 경우: 시작 위치부터 지정한 길이만큼의 문자를 추출하여 반환합니다.
  • 음수일 경우: 문자열의 끝에서 해당 개수만큼의 문자를 제외한 나머지를 반환합니다.
  • 생략할 경우: 시작 위치부터 문자열의 끝까지 전체를 반환합니다.

예제

<?php
   $string1 ="Welcome To Tutorials Point";
   $len = strlen($string1);
   echo substr($string1, 8),"<br/>";
   echo substr($string1, 5, $len),"<br/>";
   echo substr($string1, -5, 3),"<br/>";
?>

실행 결과

To Tutorials Point
me To Tutorials Point
Poi

코드 해설

위 예제에서는 먼저 문자열 변수를 하나 선언한 뒤, substr() 함수를 사용해 필요한 부분의 문자열을 추출했습니다.

  • 첫 번째 표현식: 시작 위치만 지정하고 길이는 생략했습니다. 따라서 8번째 위치부터 문자열 끝까지 전체가 출력됩니다.
  • 두 번째 표현식: 시작 위치와 길이를 모두 지정했습니다. strlen()으로 구한 문자열 전체 길이를 길이 값으로 넘겨, 5번째 위치부터 끝까지의 문자열을 반환합니다.
  • 세 번째 표현식: 음수 시작 위치를 사용했기 때문에 문자열 끝에서부터 계산되어 추출이 진행됩니다. 끝에서 5번째 문자 'P'부터 3글자인 "Poi"가 결과로 출력됩니다.

이처럼 substr() 함수를 활용하면 양수와 음수 인덱스를 조합하여 문자열의 원하는 위치에서 유연하게 데이터를 추출할 수 있습니다.