반응형
PHP Data Types
- String
- Integer
- Float
- Boolean
- Array
- Object
- NULL
- Resource
설명은 역시 예제로 보는게 빠르죠.
# String
<?php
$name = "Bryan";
echo "1. Hello~".$name;
echo "<br/>";
echo "2. Hello~$name";
echo "<br/>";
echo '3. Hello~$name';
?>
결과
1. Hello~Bryan
2. Hello~Bryan
3. Hello~$name
- " " 안에 변수를 쓰면 변수의 값이 나옵니다. ' ' 안에 사용하면 문자 그대로 출력됩니다.
- 문자 이어붙히기는 . 을 사용합니다. "hi~"."bye~"."!" == "hi~bye~!"
# Integer
<?php
$a = 0x1A; // hexadecimal
$b = 123; // decimal
$c = 0123; // octal
echo "<br/>$a";
echo "<br/>$b";
echo "<br/>$c";
?>
결과
26
123
83
- 일반적으로 사용하는것은 $b 처럼 숫자를 대입하는것입니다.
- 하지만 앞에 0 이 있으면 8진법으로 인식하죠.
- 명시적으로 8진법을 계산하는 함수는 octdec() 와 decotc() 입니다.
<참고. 사용할 일은 일반적으로 많지 않습니다.>
echo octdec('0123'); # 83
echo "<br/>";
echo decoct(83); # 123
# Float
<?php
$a = 12.67;
roundTest($a);
echo "<br/><br/>";
$a = 12.34;
roundTest($a);
echo "<br/>";
$a += 1;
echo "<br/>+1 = ".$a;
$a *= 1;
echo "<br/>*1 = ".$a;
$a /= 1;
echo "<br/>/1 = ".$a;
echo "<br/>(int) = ".(int)$a;
function roundTest($v){
var_dump($v);
echo "<br/>ceil : ".ceil($v);
echo "<br/>floor : ".floor($v);
echo "<br/>round : ".round($v);
}
?>
결과
float(12.67)
ceil : 13
floor : 12
round : 13
float(12.34)
ceil : 13
floor : 12
round : 12
13.34
- 자주 사용하는 기본 함수입니다. ceil(올림), floor(버림), round(반올림)
- 정수인 1 을 더하거나 곱하거나 나눠도 결과는 float 형을 유지합니다.
- (int)$a 로 형변환하면 소수점은 버림(floor)합니다.
- 형변환은 (int), (string), (double), (bool), (array), (object) 를 사용합니다.
# Boolean
<?php
$a = true;
$b = false;
if( $a ){
echo "<br/> a!";
}
if( $b ){
echo "<br/> b!";
}
?>
결과
a!
# Array
<?php
$arr = array("a","b","c");
var_dump($arr);
echo "<br/>";
foreach($arr as $e){
echo "<br/>$e";
}
echo "<br/>";
$arr = array("name"=>"bryan", "age"=>30, "isAdult"=>true);
foreach($arr as $k => $e){
echo "<br/>$k : $e";
}
?>
결과
array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }
a
b
c
name : bryan
age : 30
isAdult : 1
- array 안에 서로 다른 type 을 사용할 수 있습니다. array 도 가능.
- array 에 key=>value 가 아니면 기본적으로 숫자가 key 가 됩니다. [0]=>"a", [1]=>"b"...
# Object
<?php
class User {
public $name;
public $money;
public function __construct($name, $money) {
$this->name = $name;
$this->money = $money;
echo "Create User Object : $this->name has $this->money WON<br/>";
}
public function addMoney($money) {
$this->money += $money;
return "※ $this->name gets $money WON";
}
public function useMoney($money) {
$this->money -= $money;
return "※ $this->name uses $money WON";
}
public function getInfo() {
return "Now $this->name has $this->money WON";
}
}
$user01 = new User("bryan", 10000);
$user02 = new User("kevin", 50000);
echo $user01->getInfo()."<br/>";
echo $user01->addMoney(30000)."<br/>";
echo $user01->getInfo()."<br/>";
echo "<br/>";
echo $user02->getInfo()."<br/>";
echo $user02->useMoney(5000)."<br/>";
echo $user02->getInfo()."<br/>";
?>
결과
Create User Object : bryan has 10000 WON
Create User Object : kevin has 50000 WON
Now bryan has 10000 WON
※ bryan gets 30000 WON
Now bryan has 40000 WON
Now kevin has 50000 WON
※ kevin uses 5000 WON
Now kevin has 45000 WON
- Class 는 객체의 템플릿이고 객체는 Class 의 instance 입니다.
- __construct() 함수는 Class 객체가 생성될때 이 함수를 자동으로 호출합니다.
- Class 내에서 자신의 변수에 접근할땐 $this-> 를 사용합니다.
# Null
<?php
$a = "Hello bryan!";
$a = null;
var_dump($a);
if( $a ){
echo "<br/>true~";
}else{
echo "<br/>Here~~ false~";
}
?>
결과
NULL
Here~~ false~
# Resource
- 특수 자원 유형은 실제 데이터 유형이 아닙니다.
- PHP 외부의 함수 및 리소스에 대한 참조를 저장하는 것입니다.
- 리소스 데이터 유형을 사용하는 일반적인 예는 데이터베이스 호출입니다.
불펌금지
<개발인생 tistory> 출처표시
728x90
반응형
'php' 카테고리의 다른 글
[php] VS CODE 디버그 사용하기 #xDebug for PHP (xDebug3) (1) | 2020.12.20 |
---|---|
[PHP] MySQL 한글 깨짐 해결 (0) | 2020.12.17 |
[PHP] 서버 오류 확인하기. 개발 시 필수 (0) | 2020.12.17 |
[PHP] MySQL 사용하기. #connection (0) | 2020.12.17 |
[PHP] short tag 사용하기 : <?php 대신 <? 사용 (0) | 2020.12.10 |
댓글