변수처리 isset
(PHP 4, PHP 5, PHP 7, PHP 8)
isset — 변수가 선언되었고 null
과 다른지 확인
설명
isset(mixed $var
, mixed ...$vars
): bool
변수가 설정된 것으로 간주되는지 확인합니다. 이는 변수가 선언되고 null
이 아닌 경우를 의미합니다.
변수가 unset() 함수로 설정 해제된 경우 더 이상 설정된 것으로 간주되지 않습니다.
isset()은 null
에 할당된 변수를 검사할 때 false
를 반환합니다. 또한 null 문자("\0"
)는 PHP null
상수와 동일하지 않습니다.
여러 매개변수가 제공되면 모든 매개변수가 설정된 것으로 간주되는 경우에만 isset()이 true
를 반환합니다. 평가는 왼쪽에서 오른쪽으로 진행되며 설정되지 않은 변수가 발생하는 즉시 중지됩니다.
매개변수
var
- 확인할 변수입니다.
vars
- 추가 변수.
반환 값
var
가 존재하고 null
이 아닌 값이 있으면 true
를 반환합니다. 그렇지 않으면 false
.
Examples
예제 #1 isset() 예제
<?php
$var = '';
// This will evaluate to TRUE so the text will be printed.
if (isset($var)) {
echo "This var is set so I will print.";
}
// In the next examples we'll use var_dump to output
// the return value of isset().
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo)); // FALSE
?>
이것은 배열의 요소에서도 작동합니다.
<?php
$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));
var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['hello'])); // FALSE
// The key 'hello' equals NULL so is considered unset
// If you want to check for NULL key values then try:
var_dump(array_key_exists('hello', $a)); // TRUE
// Checking deeper array values
var_dump(isset($a['pie']['a'])); // TRUE
var_dump(isset($a['pie']['b'])); // FALSE
var_dump(isset($a['cake']['a']['b'])); // FALSE
?>
예제 #2 문자열 오프셋의 isset()
<?php
$expected_array_got_string = 'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>
위의 예는 다음을 출력합니다.
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
메모
경고 isset()은 변수에 대해서만 작동합니다. 다른 것을 전달하면 구문 분석 오류가 발생하기 때문입니다. 상수가 설정되었는지 확인하려면 defined() 함수를 사용하십시오.
참고: 이것은 함수가 아니라 언어 구조이기 때문에 변수 함수나 명명된 인수를 사용하여 호출할 수 없습니다.
참고: 접근할 수 없는 객체 속성에 isset()을 사용할 때 선언된 경우 __isset() 오버로딩 메서드가 호출됩니다.
기타
- empty() - 변수가 비어 있는지 확인
- __isset()
- unset() - 주어진 변수 설정 해제
- defined() - 주어진 명명된 상수가 존재하는지 확인
- the type comparison tables
- array_key_exists() - 주어진 키 또는 인덱스가 배열에 존재하는지 확인
- is_null() - 변수가 null인지 여부를 찾습니다.
- 오류 제어 @ 연산자