PHP / 함수 / substr() / 문자열의 일부분을 추출하는 함수

개요

  • substr()은 문자열의 일부분을 추출하는 함수입니다.
  • PHP 4 이상에서 사용할 수 있습니다.

문법

substr( string, start [, length ] )
  • string : 추출의 대상이 되는 문자열입니다.
  • start : 추출을 시작하는 위치입니다.
  • length : 추출할 문자의 개수입니다. 값이 없으면 문자열의 끝까지 추출합니다. 음수일 때는 위치를 뜻하고, 그 위치 앞까지의 문자를 추출합니다.
substr( 'abcdefg', 3 );

abcdefg에서 3 위치의 문자는 d입니다. d부터 끝까지의 문자를 추출합니다. 즉, defg입니다.

substr( 'abcdefg', 3, 2 );

abcdefg에서 3 위치의 문자 d부터 2개의 문자를 추출합니다. 즉, de입니다.

substr( 'abcdefg', -3, 2 );

abcdefg에서 -3 위치의 문자는 e입니다. e부터 2개의 문자를 추출합니다. 즉, ef입니다.

substr( 'abcdefg', -3, -1 );

abcdefg에서 -3 위치의 문자는 e, -1 위치의 문자는 g입니다. e부터 g 앞의 문자 f까지의 문자를 추출합니다. 즉, ef입니다.

예제

<!doctype html>
<html lang="ko">
	<head>
		<meta charset="utf-8">
		<title>PHP</title>
		<style>
			body { 
				font-family: Consolas, monospace;
			}
		</style>
	</head>
	<body>
		<?php
			echo '<p>substr( "abcdefg", 3 ) : ' . substr( "abcdefg", 3 ) . '</p>';
			echo '<p>substr( "abcdefg", 3, 2 ) : ' . substr( "abcdefg", 3, 2 ) . '</p>';
			echo '<p>substr( "abcdefg", 3, 1 ) : ' . substr( "abcdefg", 3, 1 ) . '</p>';
			echo '<p>substr( "abcdefg", 3, -1 ) : ' . substr( "abcdefg", 3, -1 ) . '</p>';
			echo '<p>substr( "abcdefg", 3, -2 ) : ' . substr( "abcdefg", 3, -2 ) . '</p>';
			echo '<p>substr( "abcdefg", -3 ) : ' . substr( "abcdefg", -3 ) . '</p>';
			echo '<p>substr( "abcdefg", -3, 2 ) : ' . substr( "abcdefg", -3, 2 ) . '</p>';
			echo '<p>substr( "abcdefg", -3, 1 ) : ' . substr( "abcdefg", -3, 1 ) . '</p>';
			echo '<p>substr( "abcdefg", -3, -1 ) : ' . substr( "abcdefg", -3, -1 ) . '</p>';
			echo '<p>substr( "abcdefg", -3, -2 ) : ' . substr( "abcdefg", -3, -2 ) . '</p>';
		?>
	</body>
</html>

같은 카테고리의 다른 글
PHP / MariaDB / 데이터베이스에 데이터 입력하기

PHP / MariaDB / 데이터베이스에 데이터 입력하기

이 강좌에서 사용하는 데이터베이스는 employees입니다. (employees 설치 하기) 폼(Form) 만들기 - employees_add.php 데이터를 입력할 폼을 만듭니다.(number, date 타입과 required는 HTML5부터 지원합니다.) 값은 employees_insert.php로 전송됩니다. <form action="employees_insert.php" method="POST"> <p><input type="number" name="emp_no" placeholder="NO" required></p> <p><input type="date" name="birth_date" required></p> <p><input type="text" name="first_name" placeholder="First Name" required></p> <p><input type="text" name="last_name" placeholder="Last Name" required></p> <p><select name="gender" ...

PHP / Session / 로그인, 로그아웃, 로그인 상태에서만 보이는 콘텐츠 만들기

PHP / Session / 로그인, 로그아웃, 로그인 상태에서만 보이는 콘텐츠 만들기

PHP의 세션을 이용하여 로그인, 로그아웃을 만들 수 있습니다. 그리고 로그인한 사용자만 볼 수 있는 콘텐츠를 만들 수도 있습니다. 다음은 이를 구현한 아주 간단한 예제입니다. inc_head.php 모든 페이지에 들어갈 코드입니다. include 함수로 각 페이지에서 불러올 것입니다. 세션의 username 값이 있다면, 즉 로그인 상태라면 $jb_login에 TRUE를 할당합니다. <?php session_start(); if( isset( $_SESSION ...

PHP / 반복문 / foreach

PHP / 반복문 / foreach

foreach는 배열의 각 값에 대하여 반복 작업을 합니다. 문법 foreach ( array_expression as $value ) { statement; } foreach ( array_expression as $value ) : statement; endforeach; 예제 배열 jba의 각 값을 변수 jbv에 넣습니다. 변수 jbv를 두 배하고 1을 뺀 값을 변수 jbr에 넣습니다. 변수 jbr을 출력합니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> ...

PHP / 연산자 / 할당 연산자

PHP / 연산자 / 할당 연산자

PHP의 할당 연산자는 =이다. 등호 오른쪽을 등호 왼쪽에 저장한다.('같다'를 표현할 때는 ==를 사용한다.) 변수 a에 10을 할당한다. $a = 10; 여러 번 할당하면 마지막에 할당된 것이 값이 된다. 즉 변수 a의 값은 20이다. $a = 10; $a = 20; 기존 값을 사용할 수 있다. 변수 a의 값은 20이다. $a = 10; $a = $a + 10;

PHP / 조건문 / switch

PHP / 조건문 / switch

switch는 하나의 변수를 여러 값과 비교할 때 유용한 조건문입니다. 문법 switch ( $var ) { case value1: statement1; break; case value2: statement2; break; ... default: statement3; } $var의 값을 value1과 비교하여 value1과 같으면 statement1을 실행하고 ...

PHP / 반복문 / while, do-while, for

PHP / 반복문 / while, do-while, for

while 문법 while ( condition ) {   statement; } condition을 만족할 때까지 중괄호 안에 있는 statement를 실행합니다. 중괄호 대신 콜론(:)과 endwhile을 사용할 수도 있습니다. while ( condition ) :   statement; endwhile; 예제 <?php   $i = 1; // 초기값 설정   while ( $i < 10 ) ...

PHP / Ubuntu / Apache / HTML 확장자에도 PHP 코드 인식되도록 설정하는 방법

PHP / Ubuntu / Apache / HTML 확장자에도 PHP 코드 인식되도록 설정하는 방법

Ubuntu에 Apache로 웹서버를 만들고 PHP를 사용할 수 있게 만든 경우, 기본적으로 확장자가 php인 경우에만 PHP 코드를 인식합니다. 만약 확장자가 html일 때로 PHP 코드가 인식되도록 하고 싶다면, Apache 설정을 바꿔줘야 합니다. /etc/apache2/mods-enabled/mime.conf 파일을 엽니다. 다음 코드를 추가합니다. AddType application/x-httpd-php .html 확장자가 htm인 경우에도 PHP를 인식하도록 하고 싶다면 다음처럼 합니다. AddType application/x-httpd-php .html .htm 웹서버를 다시 로드합니다. service apache2 ...

PHP / MariaDB / 데이터베이스의 데이터 수정하기

PHP / MariaDB / 데이터베이스의 데이터 수정하기

이 강좌에서 사용하는 데이터베이스는 employees입니다. (employees 설치 하기) employees.php Edit 버튼을 추가합니다. employees_edit.php에 emp_no의 값을 전달합니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>Employees</title> <style> body { font-family: Consolas, monospace; ...

PHP / 회원 관리 / 비밀번호 변경 페이지

PHP / 회원 관리 / 비밀번호 변경 페이지

change-password.php $_SESSION의 값으로 로그인 여부를 판단합니다. 로그인 상태가 아니라면 로그인 페이지로 이동합니다. 로그인 상태라면 $current_password의 값으로 새 비밀번호를 입력했는지 확인합니다. 새 비밀번호를 입력했다면 현재 비밀번호가 맞는지 확인합니다. 맞지 않다면 '현재 비밀번호가 틀렸습니다.'를 출력합니다. 현재 비밀번호가 맞다면 새로 입력한 비밀번호 두 개가 일치하는지 확인합니다.일치하지 않는다면 '새 비밀번호가 일치하지 않습니다.'를 출력합니다. 새 비밀번호 두 개가 ...

PHP / 조건문 / if, elseif, else

PHP / 조건문 / if, elseif, else

if 설명 if로 조건을 만족할 때 실행할 작업을 정한다. 문법 if ( condition ) { statement; } condition이 TRUE이면 statement을 실행하고, FALSE이면 실행하지 않는다. 중괄호 대신 콜론과 endif를 이용할 수도 있다. if ( condition ): statement; endif; 예제 <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>Coding Factory</title> <style> ...