PHP에서는 변수를 사용하는 방법이 조금 다릅니다. 귀찮지만 변수를 선언할 때도, 사용할 때도 앞에 매번 $를 붙여 사용합니다.
이번 포스팅에서는 PHP의 Data Type들과 변수와 상수를 선언하고 사용하는 방법을 알아볼게요🧐
변수(Variable)는 변할 수 있는 값입니다. 그래서 하나의 변수명에 값을 여러 번 넣을 수 있고, 그 값을 연산한 결과값을 다시 넣을 수 있습니다.
다른 언어와 다르게 변수명 앞에 $를 사용합니다.
$a = 1;
$b = "Start PHP";
PHP에서 초기화되지 않은 변수의 값은 null입니다.
<?php
$aa;
echo "<h3>PHP</h3>";
var_dump($aa);
echo "<br>";
?>
<script>
var a;
document.write("<h3>JavaScript</h3>" + typeof a);
</script>
- String
- Integer
- Float
- Boolean
- Array
- Object
- NULL
- Resource
Array와 Object는 후에 따로 더 자세하게 포스팅할게요.
" "안에 변수를 쓰면 변수의 값이 출력되고, ' '안에 쓰면 문자 그대로 출력됩니다.
$name = " jy";
echo "1. Hi".$name;
echo "2. Hi.$name";
echo '3. Hi.$name';
- Hi jy
- Hi jy
- Hi$name
String을 결합할 땐 .을 씁니다. 변수에 바로 사용할 수도 있고, +=처럼 .=으로 사용할 수 있습니다.
$c = "This is";
echo $c." PHP";
$d = "HI<br>";
$d.= "안녕<br>";
$d.= "Bonjour<br>";
echo $d;
<?php
$a = 123;
$b = 0x1A; //16진수
$c = 0123; //8진수
echo "<br>$a";
echo "<br>$b";
echo "<br>$c";
?>
123
26
83
변수의 값 앞에 0을 붙이면 8진수로 인식합니다.
8진법을 계산하는 함수는 octdec()
decotc()
이 있습니다.
ceil()
floor()
round()
변수 앞에 (변환할 데이터형)
을 붙여줍니다.
$a = 3.14
echo (int)$a;
3
float형을 int형으로 변환하면 소수점은 버림(floor)합니다.
변수에 담긴 데이터 형을 알고싶다면 gettype, 변수의 데이터형을 변경하고싶다면 settype을 사용합니다.
$a = "5";
echo gettype($a);
settype($a,'int');
echo gettype($a);
가변변수는 a의 변수값을 b의 변수명으로 취급할 수 있어서, b의 변수명을 유동적으로 사용할 수 있다는 점에서 특이합니다.
<?php
$aaa = "Hello";
$$aaa = "World";
가변변수로 선언하려면 $$을 사용합니다. aaa의 값은 Hello이므로 $$aaa는 Hello가 됩니다.
echo "$aaa <br>";
echo "${$aaa} <br>";
echo "$Hello <br>";
echo "$aaa ${$aaa}";
?>
$Hello를 출력하여 ${$aaa}와 같은 값을 가지는 것을 확인할 수 있습니다.
실제 사용할 때는 달러사인 두 개를 사용하여 ${$aaa}로 써야 가변변수를 사용하는 의미가 있겠죠?
변수를 비교하는 부분은 다른 언어들과 같습니다. ==
, >=
,<=
, !=
을 사용하면서 결과는 Boolean형입니다.
상수(constant)는 변수와 대비되는 개념으로, 정해져 있는 어떤 값입니다.
define('TITLE','PHP Constant');
echo TITLE;
//상수에 값을 또 넣으면 에러
define('TITLE','HIHI I\'m constant.');
- 가변변수 : http://chongmoa.com/php/13412
- 변수 데이터형 : 개발인생 tistory