source

isset() 및 empty() - 사용할 내용

gigabyte 2022. 9. 17. 09:55
반응형

isset() 및 empty() - 사용할 내용

제 코딩 스타일을 개선할 수 있도록 도와주실 수 있나요?:) 확인해야 할 태스크가 있습니다.변수가 비어 있거나 포함되어 있습니다.이 과제를 해결하기 위해 저는 보통 다음과 같이 합니다.

체크 - 이 변수가 설정되어 있는지 확인합니다.세팅되어 있는지 확인했습니다만, 비어있습니까?

<?php
    $var = '23';
    if (isset($var)&&!empty($var)){
        echo 'not empty';
    }else{
        echo 'is not set or empty';
    }
?>

그리고 empty() 앞에 isset()을 사용해야 하는지 질문이 있습니다.필요한가요?TIA!

찾으시는 내용에 따라 다르겠지만, 비어있는지 확인하실 때는 사용하세요.empty설정 여부도 체크하기 때문에 설정 여부를 알고 싶은 경우isset.

Empty는 변수가 설정되어 있는지 여부를 확인하고 변수가 눌, ", 0" 등을 체크합니다.

Isset설정되어 있는지 확인하는 것만으로, null이 아닌 것이 될 수 있습니다.

와 함께empty다음 항목은 비어 있는 것으로 간주됩니다.

  • " (빈 문자열)
  • 0(정수로 0)
  • 0.0(플로트로서 0)
  • '0' (문자열로서 0)
  • 특수한 순서
  • 거짓의
  • array()(빈 배열)
  • var $var;(클래스에 값을 포함하지 않고 선언된 변수)

http://php.net/manual/en/function.empty.php 에서


코멘트에서도 언급되었듯이 경고의 결여는 empty()에서도 중요합니다.

PHP 매뉴얼에 기재되어 있습니다.

empty()는 변수가 설정되지 않은 경우 경고가 생성되지 않는다는 점을 제외하고 (var)의 반대입니다.

isset에 대해서

PHP 매뉴얼에 기재되어 있습니다.

isset()은 NULL로 설정된 변수를 테스트하면 FALSE를 반환합니다.


코드는 다음과 같습니다.

<?php
    $var = '23';
    if (!empty($var)){
        echo 'not empty';
    }else{
        echo 'is not set or empty';
    }
?>

예를 들어 다음과 같습니다.

$var = "";

if(empty($var)) // true because "" is considered empty
 {...}
if(isset($var)) //true because var is set 
 {...}

if(empty($otherVar)) //true because $otherVar is null
 {...}
if(isset($otherVar)) //false because $otherVar is not set 
 {...}

특정의 경우:if ($var).

를 사용해야 합니다.isset변수의 존재 여부를 모르는 경우.하지만 첫 번째 줄에 선언했으므로, 당신은 그것이 존재한다는 것을 알고 있기 때문에, 당신은 그것을 사용할 필요가 없습니다, 아니, 사용해서는 안 됩니다.isset.

에 대해서도 마찬가지다.empty그것만empty또한 의 진실성에 대한 검사를 결합합니다. empty와 동등하다!isset($var) || !$var그리고.!empty와 동등하다isset($var) && $var, 또는isset($var) && $var == true.

존재해야 하는 변수의 진실성만 검정하려는 경우if ($var)완벽하게 적절하고 적절합니다.

empty()를 사용하면 됩니다.설명서에 나와 있듯이 변수가 값이 없으면 false가 반환됩니다.

같은 페이지의 예를 다음에 나타냅니다.

<?php
$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
    echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
    echo '$var is set even though it is empty';
}
?>

isset이 NULL이 아닌지만 알고 싶다면 사용할 수 있습니다.그렇지 않으면 empty()는 단독으로 사용해도 괜찮을 것 같습니다.

의 출력을 다음에 나타냅니다.isset()그리고.empty()unclared, null, false 및 true의 4가지 가능성을 나타냅니다.

$a=null;
$b=false;
$c=true;

var_dump(array(isset($z1),isset($a),isset($b),isset($c)),true); //$z1 previously undeclared
var_dump(array(empty($z2),empty($a),empty($b),empty($c)),true); //$z2 previously undeclared

//array(4) { [0]=> bool(false) [1]=> bool(false) [2]=> bool(true) [3]=> bool(true) } 
//array(4) { [0]=> bool(true) [1]=> bool(true) [2]=> bool(true) [3]=> bool(false) } 

대소문자를 제외한 모든 '문제' 결과는 '빈' 결과와 반대입니다.$b=falsefalse로 평가되는 모든 값(값이 아닌 null 제외)은 테스트 시 true를 반환합니다.isset'empty'에 의해 테스트되면 false가 됩니다.

사용방법isset()변수의 존재에 대해 염려할 때 말이죠.그리고 사용empty진실인지 거짓인지 테스트 할 때요실제 비어 있는 유형이 중요한 경우 다음을 사용하십시오.is_null그리고.===0,===false,===''.

공백은 var가 설정되지 않은 경우 true를 반환합니다.그러나 var가 비어 있지 않은 경우에도 isset은 true를 반환합니다.

$var = 'abcdef';
if(isset($var))
{
   if (strlen($var) > 0);
   {
      //do something, string length greater than zero
   }
   else
   {
     //do something else, string length 0 or less
   }
}

이것은 간단한 예입니다.도움이 됐으면 좋겠다.

편집: 추가됨isset변수가 위와 같이 정의되지 않은 경우 오류가 발생하며, 최소한 첫 번째 집합이 향후 골칫거리를 제거하는 데 도움이 되는지 확인합니다.

언급URL : https://stackoverflow.com/questions/7191626/isset-and-empty-what-to-use

반응형