학습
PHP 자료형
PHP 자료형 — 초급
PHP 자료형
1. 도입 (왜 배워야 하는가)
PHP는 웹 개발에서 널리 사용되는 서버 사이드 스크립팅 언어입니다. 자료형은 데이터를 저장하고 처리하는 방식에 직접적으로 영향을 미치기 때문에, 이를 잘 이해하는 것은 프로그래밍의 기초입니다. 자료형을 모르고 코드를 작성하게 되면, 예기치 못한 에러가 발생하거나 잘못된 결과를 초래할 수 있습니다. 예를 들어, 숫자를 문자열로 처리하게 된다면 수학적 계산이 제대로 이루어지지 않을 수 있습니다. 따라서 자료형에 대한 이해는 필수적입니다.
2. 핵심 개념 설명
PHP의 자료형은 크게 네 가지로 나눌 수 있습니다:
| 자료형 | 설명 | 비유 |
|---|---|---|
| 정수형(int) | 정수값을 저장하는 자료형 | 사과 5개 |
| 부동소수형(float) | 소수점을 포함하는 숫자를 저장하는 자료형 | 피자 조각 3.5조각 |
| 문자열(string) | 문자로 구성된 데이터 | "안녕하세요"라는 문장 |
| 불리언(boolean) | 참(true) 또는 거짓(false) 값을 저장하는 자료형 | 스위치(켜짐/꺼짐) |
이와 같은 자료형들을 이해함으로써, 우리는 데이터를 보다 효율적으로 다룰 수 있습니다.
3. 기본 코드 예제
다양한 자료형을 사용하는 간단한 예제를 살펴보겠습니다.
<?php
// 정수형
$appleCount = 5; // 사과의 개수
// 부동소수형
$pizzaSlice = 3.5; // 피자의 조각 수
// 문자열형
$greeting = "안녕하세요"; // 인사말
// 불리언형
$isAvailable = true; // 물건의 재고 유무
// 자료형 출력
echo "사과 개수: $appleCount\n"; // 사과 개수: 5
echo "피자 조각 수: $pizzaSlice\n"; // 피자 조각 수: 3.5
echo "인사말: $greeting\n"; // 인사말: 안녕하세요
echo "재고 여부: " . ($isAvailable ? "있음" : "없음") . "\n"; // 재고 여부: 있음
?>
- 실행 결과:
사과 개수: 5
피자 조각 수: 3.5
인사말: 안녕하세요
재고 여부: 있음
1. $appleCount 변수를 정수형으로 선언하고 5를 할당합니다.
2. $pizzaSlice 변수를 부동소수형으로 선언하고 3.5를 할당합니다.
3. $greeting 변수를 문자열형으로 선언하고 "안녕하세요"를 할당합니다.
4. $isAvailable 변수를 불리언형으로 선언하고 true를 할당합니다.
5. echo 문을 사용하여 각 변수를 출력합니다.
4. 실전 활용 예제
쇼핑몰에서 장바구니를 구현할 때
장바구니에 담긴 상품의 수량과 가격을 관리하기 위해 자료형을 활용합니다.
<?php
// 상품 수량
$productCount = 3; // 장바구니에 담긴 상품 수량
// 상품 가격
$productPrice = 29.99; // 상품 가격
// 총 가격 계산
$totalPrice = $productCount * $productPrice;
// 결과 출력
echo "장바구니에 담긴 상품 수량: $productCount\n"; // 장바구니에 담긴 상품 수량: 3
echo "상품 가격: $productPrice\n"; // 상품 가격: 29.99
echo "총 가격: $totalPrice\n"; // 총 가격: 89.97
?>
사용자 인증
사용자의 로그인 상태를 관리할 때 불리언형을 사용합니다.
<?php
// 로그인 상태
$isLoggedIn = false;
// 로그인 체크
if ($isLoggedIn) {
echo "환영합니다!";
} else {
echo "로그인 해주세요.";
}
?>
5. 흔한 실수와 주의사항
1. 자료형 혼동
$number = "10" + 5; // 문자열과 정수를 더하기
$number = (int)"10" + 5; // 문자열을 정수로 변환 후 더하기
2. 불리언 조건의 잘못된 사용
if ($isAvailable = true) { // 대입 연산자 사용
echo "물건이 있습니다.";
}
if ($isAvailable == true) { // 비교 연산자 사용
echo "물건이 있습니다.";
}