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() 함수를 활용하면 양수와 음수 인덱스를 조합하여 문자열의 원하는 위치에서 유연하게 데이터를 추출할 수 있습니다.