2014-03-06 2 views
1

PHP에서 if(isset($a))if($a) 또는 if_exist($a)if($a)의 차이점은 무엇입니까? 변수가이 널이 아닌 값을 갖는 것으로 설정되어

+0

예 : PHP는 diffrent 변수 유형을 처리하는 방법의 전체 목록은

$var = "foo"; var_dump((bool)$var); // outputs 'bool(true)' $var = "0"; var_dump((bool)$var); // outputs 'bool(false)' 

볼 뭔가를 배우는 좋은 방법은 직접하는 것입니다. var_dump if-statement의 결과. php.net을 읽으십시오. – Pakspul

+1

문제에 대한 조사를 질문에 추가하십시오. – AD7six

답변

5

:

if ($a) {}if (isset($a)) {}는 true를 반환하는 반면, false를 돌려줍니다.

나는 당신이 말하는 if_exist를 모른다. :)

편집 : 우수하고 광범위한 설명에 대한 @ Utkanos의 대답을 확인하십시오. :) 변수 $var 거세한 숫양

+0

및 ** isset() ** just 체크 아웃 변수가 비어 있거나 없으면 비어 있습니다. false이면 false를 반환합니다. – M98

+0

동일 값 0 또는 빈 문자열 : isset은 true이지만 false 일 경우 순수합니다! – MBaas

5

if (isset($var))

검사한다.

if ($var)

변수는 그것이 truthy 값을 갖는 대신에 설정하고 검사 된 가정한다.

PHP에는 함수가 없습니다. if_exist. 배열에 특정 키가 들어 있으면 true를 반환하는 array_key_exists을 생각할 수도 있습니다. $a = false;

+2

'isset'는 변수가 설정되고 그 값이 null이 아닌지를 확인합니다 *. – faintsignal

+0

null이 아닌 부분을 잊어 버렸습니다. 거의 모든 변수가 설정되었는지 확인하기 위해 사용합니다. 수정 됨 - 감사합니다. – Utkanos

1

isset($var) 검사 유형 null이 아닌 및 부울 true 또는 false를 반환합니다. 이 상수 NULL이 할당 된

  • :

    이 경우 변수는 널이 될 것으로 간주된다.

  • 아직 설정되지 않았습니다.
  • unset()되었습니다.

if($var)truthy 또는 falsy 값을 검사 수단에 부울 원래 형태로부터 $var 변환 내재 형 변환을한다. 변수 어떠했는지를 확인하려면

당신이 부울로 명시 적으로 변환 할 수 있습니다 truthy입니다 :

http://www.php.net/manual/en/types.comparisons.php

관련 문제