PHP에서 문자열은 작은따옴표(’) 또는 큰따옴표(”)를 사용하여 생성할 수 있습니다.
$str1 = 'Hello';
$str2 = "World";
차이점:
작은따옴표(’): 변수와 특수문자를 해석하지 않음.
큰따옴표(”): 변수와 특수문자를 해석함.
$name = 'Mike';
echo 'Hello $name'; // Hello $name
echo "Hello $name"; // Hello Mike
PHP에서는 문자열을 점(.) 연산자로 연결합니다.
$first = "Hello";
$second = "World";
$combined = $first . " " . $second; // "Hello World"
$str = "Hello World";
echo strlen($str); // 11
$str = "Hello World";
echo substr($str, 0, 5); // "Hello"
echo substr($str, -5); // "World"
$str = "Hello World";
echo strpos($str, "World"); // 6
echo strpos($str, "PHP"); // false
주의: strpos()는 찾는 문자열이 없을 경우 false를 반환하므로, 반드시 === false로 비교해야 합니다.
$str = "I like PHP";
echo str_replace("PHP", "JavaScript", $str); // "I like JavaScript"
$str = "Hello World";
echo strtoupper($str); // "HELLO WORLD"
echo strtolower($str); // "hello world"
echo ucfirst($str); // "Hello world"
echo ucwords($str); // "Hello World"
공백이나 특정 문자를 제거할 때 사용합니다.
$str = " Hello World ";
echo trim($str); // "Hello World"
echo ltrim($str); // "Hello World "
echo rtrim($str); // " Hello World"
$str = "apple,banana,orange";
$fruits = explode(",", $str);
// $fruits = ["apple", "banana", "orange"]
$fruits = ["apple", "banana", "orange"];
$str = implode(" | ", $fruits); // "apple | banana | orange"
한국어처럼 멀티바이트 문자는 일반 함수 대신 mb_ 함수 사용을 권장합니다.
$str = "안녕하세요";
echo mb_strlen($str, 'UTF-8'); // 5
echo mb_substr($str, 0, 2, 'UTF-8'); // 안녕
$str = "Hello World";
if (str_contains($str, "World")) {
echo "포함됨";
}
함수 |
설명 |
---|---|
str_repeat() |
문자열 반복 |
strrev() |
문자열 뒤집기 |
nl2br() |
개행 문자를 <br>로 변환 |
htmlspecialchars() |
HTML 특수문자 변환 (보안 필수) |
addslashes() |
따옴표 등에 백슬래시 추가 (보안) |
$name = "홍길동 ";
$trimmed = trim($name);
$greeting = "안녕하세요, " . $trimmed . "님!";
echo mb_strtoupper($greeting, 'UTF-8');
PHP는 다양한 문자열 함수들을 제공하여 웹 개발 시 매우 강력한 문자열 처리 기능을 갖추고 있습니다. 멀티바이트 문자열을 다룰 때는 mb_* 함수들을 사용하는 것이 중요하며, 보안적으로는 입력값에 대해 적절한 이스케이프 처리가 필요합니다.