코딩 스쿨 PHP

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

PHP Variables

PHP 변수: 기본 개념과 사용법

PHP 변수란?

PHP 변수는 데이터를 저장하고 관리하기 위해 사용됩니다. 변수는 값을 저장한 후 언제든지 그 값을 변경하거나 참조할 수 있는 저장소 역할을 합니다. PHP에서는 변수의 선언 시 별도의 데이터 타입을 지정하지 않아도 되며, 다양한 유형의 데이터를 유연하게 처리할 수 있습니다.


1. 변수 선언 및 사용법

PHP에서 변수를 선언할 때는 $ 기호를 사용하며, 변수명은 대소문자를 구분합니다. 변수명은 반드시 문자나 밑줄(_)로 시작해야 하며, 숫자로 시작할 수 없습니다.

변수 선언 예시

<?php
  $name = "홍길동";  // 문자열
  $age = 25;         // 정수
  $height = 1.75;    // 실수

  echo "이름: $name, 나이: $age, 키: $height m";
?>

위 예제에서 $name, $age, $height는 각각 문자열, 정수, 실수 값이 할당된 변수입니다. PHP는 변수에 저장된 값에 따라 자동으로 데이터 타입을 결정하므로, 데이터 타입을 명시적으로 선언할 필요가 없습니다.


2. 변수의 데이터 타입

PHP는 동적 타이핑 언어이므로, 변수의 데이터 타입을 명시적으로 지정하지 않아도 값에 따라 자동으로 결정됩니다. PHP에서 지원하는 주요 데이터 타입은 다음과 같습니다.

2.1 문자열 (String)

문자열은 텍스트 데이터를 저장합니다.

<?php
  $greeting = "안녕하세요";
  echo $greeting;  // 출력: 안녕하세요
?>

2.2 정수 (Integer)

정수는 소수점이 없는 숫자를 저장합니다.

<?php
  $year = 2024;
  echo $year;  // 출력: 2024
?>

2.3 실수 (Float)

실수는 소수점이 있는 숫자를 저장합니다.

<?php
  $price = 19.99;
  echo $price;  // 출력: 19.99
?>

2.4 불리언 (Boolean)

불리언은 true 또는 false 값을 가집니다.

<?php
  $is_active = true;
  echo $is_active;  // 출력: 1 (true는 1로 출력됨)
?>

2.5 배열 (Array)

배열은 여러 값을 하나의 변수에 저장할 수 있습니다.

<?php
  $fruits = array("사과", "바나나", "체리");
  echo $fruits[0];  // 출력: 사과
?>

2.6 객체 (Object)

객체는 클래스의 인스턴스로, 여러 속성과 메서드를 가질 수 있습니다.

<?php
  class Car {
    public $brand;
    public $color;

    public function __construct($brand, $color) {
      $this->brand = $brand;
      $this->color = $color;
    }

    public function display() {
      echo "이 차는 $this->brand 브랜드의 $this->color 색상입니다.";
    }
  }

  $myCar = new Car("BMW", "검정");
  $myCar->display();  // 출력: 이 차는 BMW 브랜드의 검정 색상입니다.
?>


3. 변수 범위 (Scope)

변수는 선언된 위치에 따라 지역 변수, 전역 변수, 정적 변수로 나눌 수 있습니다.

3.1 전역 변수 (Global Variables)

전역 변수는 함수 외부에서 선언된 변수로, 함수 내에서는 직접 접근할 수 없습니다. 함수 내부에서 전역 변수를 사용하려면 global 키워드를 사용해야 합니다.

<?php
  $globalVar = "전역 변수";

  function testGlobal() {
    global $globalVar;
    echo $globalVar;  // 출력: 전역 변수
  }

  testGlobal();
?>

3.2 지역 변수 (Local Variables)

지역 변수는 함수 내부에서 선언된 변수로, 해당 함수 내에서만 사용할 수 있습니다.

<?php
  function testLocal() {
    $localVar = "지역 변수";
    echo $localVar;  // 출력: 지역 변수
  }

  testLocal();
  echo $localVar;  // 오류 발생: 함수 외부에서는 지역 변수에 접근할 수 없음
?>

3.3 정적 변수 (Static Variables)

정적 변수는 함수 내에서 선언되지만, 함수가 종료된 후에도 그 값을 유지합니다. 주로 함수가 재호출될 때 이전 값을 유지하고 싶을 때 사용합니다.

<?php
  function testStatic() {
    static $count = 0;
    $count++;
    echo $count;
  }

  testStatic();  // 출력: 1
  testStatic();  // 출력: 2
  testStatic();  // 출력: 3
?>


4. 변수 관련 유용한 함수

PHP에서는 변수의 정보를 확인하거나 타입을 변환하기 위한 다양한 내장 함수를 제공합니다.

4.1 var_dump()

변수의 타입과 값을 자세히 출력합니다. 디버깅 시 매우 유용합니다.

<?php
  $var = "PHP 변수";
  var_dump($var);  // 출력: string(8) "PHP 변수"
?>

4.2 isset()

변수가 선언되었고, null이 아닌지 확인합니다. 변수가 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

<?php
  $var = "PHP";
  echo isset($var);  // 출력: 1 (true)
?>

4.3 unset()

변수를 해제하여 메모리에서 삭제합니다.

<?php
  $var = "PHP";
  unset($var);
  echo isset($var);  // 출력: 아무것도 출력되지 않음
?>

4.4 empty()

변수가 비어 있는지(즉, null이거나 빈 값인지) 확인합니다.

<?php
  $var = "";
  echo empty($var);  // 출력: 1 (true)
?>


5. 변수명 작성 규칙

PHP에서 변수명을 작성할 때는 다음 규칙을 따릅니다.

  1. 변수명은 $ 기호로 시작해야 합니다: 예: $name, $age
  2. 변수명은 문자 또는 밑줄(_)로 시작해야 합니다: 숫자로 시작할 수 없습니다.
  3. 변수명은 대소문자를 구분합니다: $Name$name은 다른 변수로 취급됩니다.
  4. 변수명은 의미 있게 작성해야 합니다: 코드 가독성을 위해 변수명은 그 목적을 명확히 나타내는 것이 좋습니다. 예: $userAge, $productPrice.

6. 변수의 동적 속성

PHP에서는 변수를 동적으로 생성하거나 삭제할 수 있습니다. 예를 들어, 변수명을 변수에 저장하여 간접적으로 접근하는 방식도 가능합니다.

동적 변수 예시

<?php
  $varName = "dynamicVar";
  $$varName = "동적 변수 내용";

  echo $dynamicVar;  // 출력: 동적 변수 내용
?>

위 예제에서 $$varName$dynamicVar로 해석됩니다.


7. 요약

PHP 변수는 데이터를 저장하고 관리하는 중요한 요소로, 다양한 데이터 타입을 자유롭게 처리할 수 있습니다. 변수는 $ 기호로 선언되며, 전역 변수와 지역 변수, 정적 변수를 통해 변수의 범위를 제어할 수 있습니다. 또한, var_dump(), isset(), unset()과 같은 함수로 변수의 상태를 확인하거나 제어할 수 있습니다. 변수를 적절하게 사용하면 코드의 가독성과 유지보수성이 크게 향상됩니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com