본문 바로가기

프로그래밍/PHP

[PHP] 변수, 형변환에 대해서 알아보자.




 

 

 

 

PHP Web Prog.


처음으로 PHP를 공부하면서, 적은것이기에 다소 틀린 내용이 있을 수도 있습니다. 그리고, 다른 언어를 알고 계시다는 가정에하에 글을 적기때문에, 완전 웹프로그래밍 언어를 처음 공부하시는 분은 다른 글도 참고하시길 바랍니다.

 

1. 변수의 기본
 php의 변수는 자바스크립트의 변수와 매우 유사한 느낌이 듭니다. 

다른 언어와는 달리 자바스크립트처럼, 자료형을 따로 구분할 필요가 없는데요. 

참고로, 자바스크립트는 변수를 선언할때, "var"를 쓰죠?


 php에서는 다음과 같이 "$"와 함께 변수 선언을 합니다.

$변수명 = 값;


 사용법은 다음과 같이 두가지 방법이 있습니다. 

$변수명 or ${변수명}


 변수를 선언하고 값을 넣으면, 자바스크립트와 유사하게 알아서 타입을 정합니다. 

일단, 변수를 선언하고, 변수를 활용해서 출력을 해봅시다. 

<?

$testInt = 12;

$testString = "테스트입니다.";

echo $testInt;

echo "<br/>";

echo ${testInt};

echo "<br/>";

echo $testString;

?>


 다음과 같이 출력됩니다.

12

12

테스트입니다.


 여기서 잠깐!! php 역시나 식별자(변수명)에 대한 다음과 같은 제약이 있습니다.

1. 처음에 숫자가 올 수 없다.

2. 식별자에는 "_"를 제외한 특수문자를 사용할 수 없다.

3. 식별자의 경우, 대소문자를 구분한다.




2. 변수타입의 확인

 다음과 같은 함수를 통해서 변수타입을 확인 할 수 있습니다. 

gettype(변수)


 테스트 해봅시다. 

<?

$testInt = 12;

$testString = "테스트입니다.";

echo gettype($testInt);

echo "<br/>";

echo gettype($testString);

?>


 결과는 다음과 같습니다. 

integer

string



3. 형변환(Type Casting)

 형변환은 다른 언어를 접해보셨다면, 그냥 한번 보는것만으로 이해 가능할 것이라 생각합니다. 

일단 두가지 방법이 있는데, 한가지 방법은 익히 아는 방법입니다. 

1. (변환할 타입) 값을 가지고 있는 변수;

2. settype(변수나 값, 변환할 타입)


4. 가변변수

 굉장히 특이한 방식인데요. 다른 언어에도 이러한 방식이 존재하는지 잘 모르겠습니다. 

한번 살펴보시죠.

<?

$testa = "a";

$$testa = "b";

echo $testa;

echo "<br/>";

echo $$testa;

echo "<br/>";

echo $a;

echo "<br/>";

?>


결과는 다음과 같습니다.

a

b

b


 흠, echo 문의 제일 마지막 것을 주의깊게 봐야하는데요. 바로 "$a"입니다.

분명, 우리는 저런 변수를 선언한 적이 없습니다. 어떻게 된 것일까요?


 php에서는 변수를 선언할때 "$" 쓰도록 되어 있는데 한번더 붙여줌으로써 전혀 새로운 변수를 만들 수 있습니다. 

그러니, 다음과 같이 변형된 것이지요. 

$$testa → $ + $testa  ($testa가, 담고 있는 값인 a로 대체)  $a  $a = "b";


 복잡하지 않으니, 조금만 생각해보면 될듯 합니다. 


 이만 글을 줄이도록 하겠습니다.