
PHP는 많은 내장 함수를 지원하고 있습니다.
1. 변수 관련 함수
변수 관련 함수는 세 가지의 기능을 제공합니다. 먼저 변수의 타입 변경입니다.
대표적으로 gettype() 함수는 전달받은 변수의 타입을 반환합니다. 변수를 전달하면 타입에 따라 해당 타입의 이름을 문자열로 반환하는 형태를 가지고 있습니다. 그러나 float 형의 경우에는 float가 아닌 double을 반환하며 표준 타입이 아닌 경우에는 unknown type을 반환합니다.
<?php
$x = 5;
echo gettype($x);
?>
gettype() 함수는 내부적으로 문자열을 비교하기 때문에 실행속도가 느리다는 단점이 있습니다. 그래서 이를 보완하기 위해 다음과 같은 함수들을 사용할 수 있습니다.
| 함수 | 설명 |
| is_array() | 전달받은 변수의 타입이 배열인지를 확인함. |
| is_bool() | 전달받은 변수의 타입이 논리형인지를 확인함. |
| is_callable() | 변수의 내용을 함수처럼 호출할 수 있는지를 확인함. |
| is_float(), is_double(), is_real() |
전달받은 변수의 타입이 실수인지를 확인함. |
| is_int(), is_integer(), is_long() |
전달받은 변수의 타입이 정수인지를 확인함. |
| is_null() | 전달받은 변수의 타입이 NULL인지를 확인함. |
| is_numeric() | 전달받은 변수가 수나 숫자로 이루어진 문자열인지를 확인함. |
| is_object() | 전달받은 변수의 타입이 객체인지를 확인함. |
| is_resource() | 전달받은 변수의 타입이 자원인지를 확인함. |
| is_scalar() | 전달받은 변수가 스칼라값인지를 확인함. |
| is_string() | 전달받은 변수의 타입이 문자열인지를 확인함. |
참고.
is_scalar() 함수로 확인할 수 있는 값은 integer, float, string, boolean 타입의 값을 의미합니다.
PHP에서 array, object, resource 타입의 값은 스칼라 값이 아닙니다.
settype() 함수를 사용하면 전달받은 변수의 타입을 변경할 수 있습니다. 이때 변환할 타입으로는 boolean, integer, string, array, object를 사용할 수 있습니다. 또한 PHP 4.2.0 부터는 float과 null 타입도 사용할 수 있습니다.
settype() 함수는 전달받은 변수의 타입을 성공적으로 변경하면 true를 반환하고 그러지 못했을 경우에는 false를 반환합니다.
<?php
$x = 5;
settype($x, "string");
echo gettype($x);
?>
2. 변수의 상태 변경
isset() 함수는 전달받은 변수가 선언되어 있는지를 검사합니다. 선언된 변수가 존재하면 true를 존재하지 않으면 false를 반환합니다.
unset() 함수는 전달받은 변수를 제거합니다.
또한 empty() 함수는 전달받은 변수가 비어있는지를 검사합니다. empty() 역시 전달받은 변수가 존재한다면 true를 존재하지 않으면 false를 반환합니다. PHP에서는 다음과 같은 값을 가지는 변수는 비어있다고 인식합니다.
- 정수 0
- 실수 0.0
- 문자열 0
- 빈 문자열
- NULL
- false
- 빈 배열
- 초기화되지 않은 변수
<?php
$var;
var_dump(isset($var)); // false
var_dump(empty($var)); // true
$var = 5;
var_dump(isset($var)); // true
var_dump(empty($var)); // false
$var = 0;
var_dump(isset($var)); // true
var_dump(empty($var)); // true
unset($var);
var_dump(isset($var)); // false
var_dump(empty($var)); // true
?>
위 예제는 변수 $var를 선언만 하고 초기화하지 않은 상태에서 isset() 함수에 인수로 전달하면 false를 반환합니다. 하지만 초기화를 수행하고 isset() 함수에 인수로 전달하면 true를 반환합니다. empty() 함수는 정수 0과 같이 비어있는 거로 간주하는 값을 전달하면 true를 반환합니다.
또한 unset() 함수로 $var를 삭제하고 isset() 함수에 인수로 전달하면 false 값을 반환합니다.
3. 특정 타입으로 변경
PHP에서는 변수를 특정 타입으로 변환하기 위해서 다음과 같은 함수를 제공합니다.
intval() 함수는 전달받은 변수에 해당하는 정수를 반환합니다.
floatval() 함수와 doubleval() 함수는 전달받은 변수에 해당하는 실수를 반환합니다.
strval() 함수는 전달받은 변수에 해당하는 문자열을 반환합니다.
<?php
$x = "123.56789abc";
echo intval($x); // 123
echo floatval($x); // 123.56789
echo strval($x); // 123.56789abc
?>
[PHP] 함수의 활용
PHP 함수는 여러가지로 활용할 수 있습니다. 1. 조건적인 함수(conditional function) 조건적인 함수는 특정 조건을 만족할 때만 선언되는 함수입니다. 설정된 조건을 만족하지 못했을 때는 선언 자체가
soominkim.tistory.com
'PHP' 카테고리의 다른 글
| [PHP] 내장 함수 - 문자열 (0) | 2023.04.29 |
|---|---|
| [PHP] 내장 함수 - 배열 (0) | 2023.04.29 |
| [PHP] 함수의 활용 (0) | 2023.03.11 |
| [PHP] 함수 (0) | 2023.03.07 |
| [PHP] 기타 제어문과 연관 배열 (0) | 2023.03.02 |