IMG-LOGO
공지사항 :

PHP 문자열(string)

lmkfox - 2025-08-07 06:25:16 9 Views 0 Comment

1. 문자열 기본 개념

PHP에서 문자열은 작은따옴표(’) 또는 큰따옴표(”)를 사용하여 생성할 수 있습니다.

$str1 = 'Hello';
$str2 = "World";

차이점:

  • 작은따옴표(’): 변수와 특수문자를 해석하지 않음.

  • 큰따옴표(”): 변수와 특수문자를 해석함.

$name = 'Mike';

echo 'Hello $name'; // Hello $name
echo "Hello $name"; // Hello Mike


2. 문자열 연결

PHP에서는 문자열을 점(.) 연산자로 연결합니다.

$first = "Hello";
$second = "World";
$combined = $first . " " . $second; // "Hello World"


3. 문자열 길이 확인

$str = "Hello World";
echo strlen($str); // 11


4. 문자열 자르기

$str = "Hello World";
echo substr($str, 0, 5); // "Hello"
echo substr($str, -5);   // "World"


5. 문자열 검색

$str = "Hello World";

echo strpos($str, "World"); // 6
echo strpos($str, "PHP");   // false

주의: strpos()는 찾는 문자열이 없을 경우 false를 반환하므로, 반드시 === false로 비교해야 합니다.


6. 문자열 대체

$str = "I like PHP";
echo str_replace("PHP", "JavaScript", $str); // "I like JavaScript"


7. 대소문자 변환

$str = "Hello World";

echo strtoupper($str); // "HELLO WORLD"
echo strtolower($str); // "hello world"
echo ucfirst($str);    // "Hello world"
echo ucwords($str);    // "Hello World"


8. 문자열 트림(trim)

공백이나 특정 문자를 제거할 때 사용합니다.

$str = "  Hello World  ";

echo trim($str);   // "Hello World"
echo ltrim($str);  // "Hello World  "
echo rtrim($str);  // "  Hello World"


9. 문자열 나누기와 합치기

나누기: 

explode()

$str = "apple,banana,orange";
$fruits = explode(",", $str);
// $fruits = ["apple", "banana", "orange"]

합치기: 

implode()

 또는 

join()

$fruits = ["apple", "banana", "orange"];
$str = implode(" | ", $fruits); // "apple | banana | orange"


10. 멀티바이트 문자열 (UTF-8 등)

한국어처럼 멀티바이트 문자는 일반 함수 대신 mb_ 함수 사용을 권장합니다.

$str = "안녕하세요";
echo mb_strlen($str, 'UTF-8');         // 5
echo mb_substr($str, 0, 2, 'UTF-8');   // 안녕


11. 문자열 포함 여부 확인 (PHP 8 이상)

$str = "Hello World";
if (str_contains($str, "World")) {
    echo "포함됨";
}


12. 기타 유용한 함수

함수

설명

str_repeat()

문자열 반복

strrev()

문자열 뒤집기

nl2br()

개행 문자를 <br>로 변환

htmlspecialchars()

HTML 특수문자 변환 (보안 필수)

addslashes()

따옴표 등에 백슬래시 추가 (보안)


예제 종합

$name = "홍길동 ";
$trimmed = trim($name);
$greeting = "안녕하세요, " . $trimmed . "님!";
echo mb_strtoupper($greeting, 'UTF-8');


결론

PHP는 다양한 문자열 함수들을 제공하여 웹 개발 시 매우 강력한 문자열 처리 기능을 갖추고 있습니다. 멀티바이트 문자열을 다룰 때는 mb_* 함수들을 사용하는 것이 중요하며, 보안적으로는 입력값에 대해 적절한 이스케이프 처리가 필요합니다.


댓글