지난번 포스팅에선 php 변수에 대해서 알아보았습니다. 이번장에서는 조금 더 나아가 변수중에서 string에 대해서 알아보겠습니다. 흔히 문자열 변수라고 칭합니다.
문자열 변수는 직접 생성, 조작할 수 있습니다. 예를 들어 $txt 라는 변수를 만들고 내용에 "Park's의 블로그" 이렇게 내용이 출력됩니다.
<?php
$txt="Park's의 블로그";
echo $txt;
?>
문자열 변수를 할당할때 주의해야 할 점은 큰따옴표 또는 작은따옴표를 사용하여 생성합니다. 이에 대한 자세한 설명은 이전 포스팅에 있으니 참고 바랍니다.
PHP 연결 연산자
PHP에서 하나의 문자열 연산자가 있습니다.
연결 연산자 (.) 두 개의 문자열 값을 연결하는 데 사용됩니다.
아래의 예제는 두 개의 문자열 변수를 연결하는 방법을 보여줍니다.
<?php
$txt1="Park's의 블로그";
$txt2="누군가에게 도움이 되는 블로그가 되자!";
echo $txt1 . " " . $txt2;
?>
// 연결될때 ." ". 이렇게 연결됨을 알 수 있습니다.
위 구문이 출력이 되면 "Park's의 블로그 누군가에게 도움이 되는 블로그가 되자!" 이렇게 출력이 되겠죠.
만약 echo $txt1 . $txt2; // 이렇게 연결이 되었다면 "Park's의 블로그누군가에게 도움이 되는 블로그가 되자!" 처럼 출력이 되는데 틀린점을 찾으셨나요?? 바로 두 문장사이의 띄어쓰기가 있고 없고의 차이입니다. " " 는 공백값이 추가되어 연결됨을 의미합니다.
PHP strlen() 함수
strlen() 함수는 문자열의 길이를 반환하는 역할을 합니다.
<?php
echo strlen("Park's의 블로그!");
?>
위 구문을 실행하면 "16"이 나옵니다. 영어와 특수문자, 띄어쓰기등은 기본적으로 1바이트 이며, 한글은 2바이트 입니다. 그래서 위 구문의 총 문자열 길이는
p=1,
a=1,
r=1,
k=1,
'=1,
s=1,
의=2,
'띄어쓰기'=1,
블=2,
로=2,
그=2,
!=1
합이 총 16이 됩니다. strlen 함수는 문자열의 길이를 제어할때 사용하기 때문에 매우 자주 쓰이는 함수 입니다.
PHP strpos() 함수
strpos() 함수는 문자열 중에서 문자 또는 특정단어가 있는지를 검사할때 사용합니다.
특정단어가 있는지 여부를 체크하여 그 첫번째 위치의 문자위치를 반환합니다. 모든 문자열의 첫번째 시작점은 0부터 시작한다는것을 미리 알아두시기 바랍니다.
<?php
echo strpos("Park's의 블로그","로");
?>
만약 위처럼 구문이 있을경우 "로" 와 같은 단어가 있는지 없는지를 체크하여 "11" 이라는 값을 반환합니다.
p=0,
a=1,
r=2,
k=3,
'=4,
s=5,
의=6,7,
'띄어쓰기'=8,
블=9,10,
로=11,12,
그=13,14,
!=15
글자 "로" 부분의 시작점이 11인것을 알 수 있습니다. 이 함수는 해당 내용에 어떤 내용이 있는지 검사할 수 있기 때문에 저는 스팸차단 같은 소스에서 종종 사용합니다.
예제 2
<?
$categoryName = "청주,내덕동,율량동,사천동";
$searchName = "내덕동";
if(strpos($categoryName, $searchName) !== false) {
echo "$searchName 단어가 포함되어 있습니다";
} else {
echo "$searchName 단어가 없군요.";
}
?>
위의 내용은 $categoryName 에 $searchName 이 있는가 검사하는 소스입니다. 이 함수도 자주 사용되는 함수이기에 알아두시면 유용하게 사용하게 될듯합니다.
다음장에서는 PHP Operators(연산자 +, -, /, *) 등에 대해서 알아보겠습니다.
'PHP > PHP Basic' 카테고리의 다른 글
PHP IF ~ ELSE 문 (0) | 2013.06.07 |
---|---|
PHP 연산자 (0) | 2013.06.05 |
PHP 변수에 대하여 (2) | 2013.05.31 |
PHP Syntax (0) | 2013.05.30 |
php 소개 (0) | 2013.05.29 |