본문 바로가기

변수에 대한 이야기...

반응형

모든 언어에는 변수와 상수가 있습니다...
변수는 값이 변하는 것이고 상수는 고정되어 있는거죠;;;
(저도 복잡한것은 모르니...)

암튼...
변수는 자기가 맘대로 팍팍 만들어서 쓸수가 있는 것입니다.
예를들어 a라는 변수를 만들고 싶다면.....그냥 a=무엇 이렇게 값만 넣어주면 끝납니다.
쉽죠;;;

이렇게 변수에 무언가의 값을 넣어두는 이유는...
그 값을 갖고 언젠가는 무언가에 써먹으려고 하기 때문이죠...
자~ 개념이 잡히셨길;;;

C해보신 분들은 알겠지만...
C에서는 변수형을 선언하고 그다음에 변수를 사용합니다.
예를 들어 a라는 변수를 쓰기 위해서 미리...

int a;

위와 같이...intager로 a라는 변수를 선언했습니다.
그.러.나...

php에서는 이런거 다 필요 없습니다...
그냥 a라는 변수가 정수형이든 문자형이든...신경안쓴다 그거죠;;;
미리 선언할 필요도 없습니다.

php에서는 변수를 구분하기 위해 $(스트링)을 앞에 붙입니다.
그러니까 a라는 변수는 $a와 같이 쓰게 되죠;;;

그럼 저번에 갖고 놀던 test.php파일 있으시죠?...
소스 한번 볼까요?

< ?
echo "<html>
< body>
< font color=red>abc</font>
< /body>
< /html>";
?>

자...요롷게 끝났었죠....
그럼 이제 요걸 변수를 넣어 만들어 봅시다...

< ?
$a="abc";   //변수 $a에 abc를 넣음
echo "<html>
< body>
< font color=red>$a</font>
< /body>
< /html>";
?>

자 소스를 보시죠;;;

$a="abc";   //변수 $a에 abc를 넣음

위부분에서 //다음부분은 주석문입니다.
php에서는 C와 주석문이 동일합니다.
한줄주석문일 경우에는 //를 붙이면 되고...
여러줄일 경우에는 /*와 */사이에 넣어주시면 됩니다.

암튼....
변수 $a에 abc라는 문자열이 들어갔죠...
그리곤 그 밑에 echo문 안에 $a가 있습니다.
그럼 $a가 찍히는게 아니라 $a의 값이 찍히는거죠......
뭐였죠?.....

짝짝짝~ abc죠...
그래서 결과는 전과 동일합니다...
그럼 이번엔....$a에다가 다른값을 넣어주고 해보시죠;;;

쉽죠?;;;;  (-_-아..아닌가..)

이제 test.php의 모든 내용을 비우시고....
새로운 소스를 만들어 봅시다...

< ?
$color="red";
echo"<body bgcolor=$color>";
?>

엇;;;근데 <html>~</html> 뭐 이런태그들을 다 빼먹었군요!!!
-_,-상관없습니다;;; 걍 하시죠;; 잔말마시구....

자 암튼....요걸 실행시키면....
배경화면이 빨간색으로 나와버리죠....

오로~~;;; 변수는 요롷게 써먹습니다...

이런것도 한번 해보죠;;;

< ?
$size=5;
echo "<font size=$size>아하하</font>";
?>

엇...근데 이번엔 $size="5";가 아닌 $size=5;로 했죠...
정수형일땐 따옴표가 필요 없습니다..;;
(-_-거.....걍 하시라니깐...)

위 소스를 실행하면 결국 이런 소스가 나오는거죠...

< font size=5>아하하</font>

그렇죠?....
자 그럼...이렇게 한번 소스를 바꿔보죠...

< ?
$size=5;
echo "<font size=$size>이 폰트의 크기는 $size입니다</font>";
?>

이걸 실행하면 "이 폰트의 크기는 5입니다"라고 나와야 하죠...
그런데......."이폰트의 크기는"까지만 나왔습니다..-_-엇;;;

잘못된것도 없는데 이상하죠?;;;
그런데....한가지 말씀안드린게 있네요....^^;

php에서는 한글변수명도 사용이 가능합니다.....-0-;

예를들어....$크기=5;  이렇게 지정해도 문제가 없다 그거죠...
결국 위소스에서...

echo "<font size=$size>이 폰트의 크기는 $size입니다</font>";

$size입니다  <--이걸 한개의 변수로 판단한다는 거죠...
$size입니다 라는 변수에 값을 넣어준적이 없으니...아무것도 안찍힙니다.

그럼 이렇게 해주면 되겠죠....

echo "<font size=$size>이 폰트의 크기는 $size 입니다</font>";

$size와 입니다를 한칸띄워주면 $size라는 변수 값이 찍히겠죠?
그런데;;; 저는... $size와 입니다를 붙여서 찍고 싶다 그거죠...

이 폰트의 크기는 5입니다

이렇게 말이죠....
그래서 사용되어지는게 있습니다......-_-일명 (.)점뽄드~
(참고:자바스크립트에서는 +를 쓰죠..)

점연산자 라고도 부르던데...
바로 요놈입니다.....자세히 잘 보시죠

.

-_-위에 저놈....흔히말하는 DOT이죠...닷~
그럼 저걸 쓰는 방법을 잠깐 보겠습니다.

$a="navy";
$b="ism";

위와같이 두개의 변수를 navyism으로 합치려면 아래처럼 해줍니다.

$c=$a.$b;

그럼 $c라는 값은 "navyism"이 되는거죠...
아니면~

echo $a.$b;

위와같이 해도 상관없습니다.
또는....

echo $a."ism";

이렇게 해도 된다는거죠...
요기서 좀 헷갈리시는 분이 계실텐데....
변수를 함수에 집어 넣을때는 따옴표를 쓰지 않아도 됩니다.
하지만 문자열에서는 따옴표가 있어야 겠죠....

그럼이제 아까 그 문제의 소스를 수정해보죠..

echo "<font size=$size>이 폰트의 크기는 ".$size."입니다</font>";

@_@허거덩;;
이게웬 따옴표 난리입니까...
잘 뜯어 보면....이렇게 나눌수 있습니다.

"<font size=$size>이 폰트의 크기는 "
$size
"입니다</font>"

이렇게 세 단락이 .으로 연결되어 있는거죠...
단순히 그냥 .으로 줄줄이 이어붙이는건데.....
문자열과 변수를 구분하여 .으로 붙여준것 뿐입니다...
헷갈리지 마세요~~~

자~~~또 다른 더 간단한 방법이 있는데...
{}를 사용하는것입니다.

${size} 이렇게 변수명만 묶어줍니다..($는 포함하시면 안된다죠..)

echo "<font size=$size>이 폰트의 크기는 ${size}입니다</font>";

그냥 위와같이만 해주시면 끝납니다......흘...더 간단하죠..
그런데 나중엔 (.)을 더 많이 쓰시게 될겁니다...

반응형

'PHP∵SCRIPT' 카테고리의 다른 글

include와 require ?  (0) 2014.04.05
반복실행문  (0) 2014.04.04
비교연산과 조건문...  (0) 2014.04.04
연산하기...  (0) 2014.04.04
정규표현식  (0) 2014.04.03
최대공약수 구하기 (유클리드 알고리즘)  (0) 2014.04.03
소수인지 확인하기 (유클리드 알고리즘)  (0) 2014.04.03
PHP를 이용한 이미지 사이즈 편집  (0) 2014.04.03

댓글


Copyright ⓒ SmartWeb All rights reserved.