PHP Variable Handling
PHP Variable Handling Reference: 변수 처리와 관련된 함수 가이드
PHP에서는 변수와 관련된 다양한 함수를 제공하여, 변수의 데이터 유형을 확인하고, 변경하며, 변수를 조작할 수 있는 유용한 도구를 제공합니다. PHP Variable Handling Functions는 변수의 데이터 타입을 확인하고 변환하는 것부터, 변수 존재 여부를 확인하거나 제거하는 작업까지 폭넓은 기능을 제공합니다. 이 가이드는 PHP에서 변수 처리와 관련된 주요 함수와 기능을 설명합니다.
1. 변수 정보 확인
1.1 gettype()
gettype()
함수는 변수의 데이터 유형을 문자열로 반환합니다.
-
예시:
<?php $var = 42; echo gettype($var); // 출력: integer ?>
1.2 settype()
settype()
함수는 변수의 데이터 유형을 강제로 변환합니다.
-
예시:
<?php $var = "42"; settype($var, "integer"); echo gettype($var); // 출력: integer echo $var; // 출력: 42 ?>
2. 변수 존재 여부 확인
2.1 isset()
isset()
함수는 변수가 설정되어 있고, null
이 아닌 경우 true
를 반환합니다. 변수가 존재하지 않거나 값이
null
인 경우 false
를 반환합니다.
-
예시:
<?php $var = "Hello"; if (isset($var)) { echo "변수가 설정되어 있습니다."; } ?>
2.2 empty()
empty()
함수는 변수가 비어 있거나, 값이 0
, ""
, null
,
false
, 또는 배열이 비어있는 경우 true
를 반환합니다.
-
예시:
<?php $var = ""; if (empty($var)) { echo "변수가 비어 있습니다."; } ?>
2.3 unset()
unset()
함수는 변수를 제거합니다. 이 함수는 변수를 파괴하며, 이후 isset()
이나 empty()
로 변수를 확인하면 존재하지 않는
것으로 처리됩니다.
-
예시:
<?php $var = "Hello"; unset($var); if (!isset($var)) { echo "변수가 제거되었습니다."; } ?>
3. 변수의 데이터 타입 확인
PHP는 다양한 함수들을 통해 변수의 데이터 타입을 확인할 수 있습니다.
3.1 is_string()
, is_int()
, is_float()
, is_bool()
이 함수들은 변수가 특정 데이터 타입인지 확인하는 데 사용됩니다.
-
예시:
<?php $var1 = "Hello"; $var2 = 42; $var3 = 3.14; $var4 = true; if (is_string($var1)) echo "$var1는 문자열입니다.<br>"; if (is_int($var2)) echo "$var2는 정수입니다.<br>"; if (is_float($var3)) echo "$var3는 부동소수점입니다.<br>"; if (is_bool($var4)) echo "$var4는 불리언입니다.<br>"; ?>
3.2 is_array()
, is_object()
, is_null()
이 함수들은 변수가 배열, 객체, 또는 null
인지 확인하는 데 사용됩니다.
-
예시:
<?php $arr = [1, 2, 3]; $obj = new stdClass(); $var = null; if (is_array($arr)) echo "배열입니다.<br>"; if (is_object($obj)) echo "객체입니다.<br>"; if (is_null($var)) echo "변수는 null입니다.<br>"; ?>
4. 변수 데이터 타입 변환
4.1 intval()
, floatval()
, strval()
이 함수들은 변수를 정수, 부동소수점, 문자열로 변환합니다.
-
예시:
<?php $var = "42.5"; echo intval($var); // 출력: 42 echo floatval($var); // 출력: 42.5 echo strval(100); // 출력: "100" ?>
4.2 캐스팅 (형 변환)
PHP에서는 캐스팅을 사용하여 변수의 타입을 변환할 수 있습니다.
-
예시:
<?php $var = "42.7"; $intVar = (int)$var; // 정수로 캐스팅 $floatVar = (float)$var; // 부동소수점으로 캐스팅 echo $intVar; // 출력: 42 echo $floatVar; // 출력: 42.7 ?>
5. 변수의 값 출력
5.1 print_r()
print_r()
함수는 변수의 값을 이해하기 쉽게 출력합니다. 특히 배열이나 객체를 출력할 때 유용합니다.
-
예시:
<?php $arr = [1, 2, 3, "a" => "apple", "b" => "banana"]; print_r($arr); ?>
-
출력:
Array ( [0] => 1 [1] => 2 [2] => 3 [a] => apple [b] => banana )
5.2 var_dump()
var_dump()
함수는 변수의 타입과 값을 자세히 출력합니다. 특히 변수의 구조를 분석할 때 유용합니다.
-
예시:
<?php $var1 = "Hello"; $var2 = 42; $var3 = [1, 2, 3]; var_dump($var1); var_dump($var2); var_dump($var3); ?>
-
출력:
string(5) "Hello" int(42) array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
6. 참조와 복사
6.1 참조 (&
)
변수에 참조를 사용하면 해당 변수가 다른 변수의 참조로 설정되어 두 변수가 같은 값을 가리키게 됩니다.
-
예시:
<?php $a = "Hello"; $b = &$a; // $b는 $a를 참조합니다. $b = "World"; echo $a; // 출력: World ?>
6.2 값 복사
참조가 아닌 일반적인 할당은 값을 복사합니다. 두 변수가 서로 독립적으로 존재하게 됩니다.
-
예시:
<?php $a = "Hello"; $b = $a; // 값 복사 $b = "World"; echo $a; // 출력: Hello ?>
7. 전역 변수와 정적 변수
7.1 전역 변수 ($GLOBALS
)
PHP에서는 모든 전역 변수를 $GLOBALS
배열을 통해 접근할 수 있습니다.
-
예시:
<?php $var = "Hello, World!"; function myFunc() { echo $GLOBALS['var']; // 전역 변수 $var에 접근 } myFunc(); // 출력: Hello, World! ?>
7.2 정적 변수 (static
)
정적 변수는 함수가 호출될 때마다 초기화되지 않고, 이전 값을 유지합니다.
-
예시:
<?php function counter() { static $count = 0; // 정적 변수 $count++; echo $count; } counter(); // 출력: 1 counter(); // 출력: 2 ?>
요약
PHP의 Variable Handling Functions는 변수를 처리하고 조작하는 데 매우 유용한 도구를 제공합니다. 변수의 존재 여부를 확인하고, 타입을 변환하거나 정보를 출력하는 다양한 함수들을 통해, 개발자는 유연하고 효과적으로 변수를 관리할 수 있습니다. 이를 통해 PHP는 더욱 강력한 데이터 처리와 제어가 가능합니다.