현재 위치: > 최신 기사 목록> PHP에서 객체의 클래스 속성의 존재를 확인하기 위해 Property_Exists 함수를 사용하는 방법은 무엇입니까?

PHP에서 객체의 클래스 속성의 존재를 확인하기 위해 Property_Exists 함수를 사용하는 방법은 무엇입니까?

M66 2025-07-18

PHP에서 Property_Exists 함수는 객체에 특정 속성이 있는지 확인하는 데 사용됩니다. 특히 객체의 특성이 존재하는지 동적으로 확인해야 할 때 매우 유용한 도구입니다. 이 기능을 사용하면 존재하지 않는 속성에 직접 액세스 할 수 있으므로 잠재적 오류 나 예외를 피할 수 있습니다.

Property_Exists 함수의 기본 구문

Property_Exists 함수의 구문은 다음과 같습니다.

 <span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-keyword">object</span></span><span> </span><span><span class="hljs-variable">$object</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$property</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
  • $ 객체 : 속성을 확인 해야하는 객체 인스턴스.

  • $ 속성 : 확인할 속성 이름은 문자열이어야합니다.

이 함수는 부울 값을 반환합니다.

  • 객체에 지정된 속성이 있으면 true를 반환합니다.

  • 객체에 지정된 속성이없는 경우 False가 반환됩니다.

property_exists function을 사용하는 예입니다

다음은 property_exists 함수의 사용을 보여주는 간단한 예입니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Person</span></span><span> {
    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>;
    </span><span><span class="hljs-keyword">private</span></span><span> </span><span><span class="hljs-variable">$age</span></span><span>;

    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$name</span></span></span><span>, </span><span><span class="hljs-variable">$age</span></span><span>) {
        </span><span><span class="hljs-variable language_">$this</span></span><span>-&gt;name = </span><span><span class="hljs-variable">$name</span></span><span>;
        </span><span><span class="hljs-variable language_">$this</span></span><span>-&gt;age = </span><span><span class="hljs-variable">$age</span></span><span>;
    }
}

</span><span><span class="hljs-variable">$person</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"John"</span></span><span>, </span><span><span class="hljs-number">30</span></span><span>);

</span><span><span class="hljs-comment">// 공개 속성을 확인하십시오 'name' 존재합니까?</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'name' 존재하다。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'name' 不존재하다。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// 조사하다私有재산 'age' 존재합니까?</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'age' 존재하다。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'age' 不존재하다。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// 조사하다不존재하다的재산 'address'</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'address'</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'address' 존재하다。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'address' 不존재하다。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력 결과는 다음과 같습니다.

 <span><span>재산 </span><span><span class="hljs-string">'name'</span></span><span> 존재하다。
재산 </span><span><span class="hljs-string">'age'</span></span><span> 존재하다。
재산 </span><span><span class="hljs-string">'address'</span></span><span> 不존재하다。
</span></span>

Property_Exists 의 작동 방식

Property_Exists 함수는 객체 인스턴스에 지정된 속성이 있는지 여부를 확인할뿐만 아니라 속성 (공개, 보호, 개인)의 가시성을 확인합니다. 이것은 다음을 의미합니다.

  • 재산이 개인이거나 보호 되더라도 사실 반환됩니다.

  • 그러나 속성 값이 초기화되는지 확인하지 않습니다.

예를 들어, 사유 재산이 생성자에서 초기화되지 않은 경우 속성이 존재하는지 확인하고 속성의 실제 가치에 관심이 없는지 확인하기 때문에 Property_Exists는 여전히 TRUE를 반환합니다.

다른 기능과 함께 사용하십시오

때로는 속성이 존재할뿐만 아니라 특정 속성에 액세스하기 전에 초기화되어 비어 있지 않도록 Property_ExistsISSET 또는 비어있는 기능과 함께 사용할 수 있습니다. 예는 다음과 같습니다.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-class"><span class="hljs-keyword">class</span></span></span><span> </span><span><span class="hljs-title">Person</span></span><span> {
    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-variable">$name</span></span><span>;
    </span><span><span class="hljs-keyword">private</span></span><span> </span><span><span class="hljs-variable">$age</span></span><span>;

    </span><span><span class="hljs-keyword">public</span></span><span> </span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">__construct</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$name</span></span></span><span>) {
        </span><span><span class="hljs-variable language_">$this</span></span><span>-&gt;name = </span><span><span class="hljs-variable">$name</span></span><span>;
    }
}

</span><span><span class="hljs-variable">$person</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title class_">Person</span></span><span>(</span><span><span class="hljs-string">"John"</span></span><span>);

</span><span><span class="hljs-comment">// 조사하다 'age' 재산존재합니까?并且已初始化</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span>) &amp;&amp; </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>-&gt;age)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'age' 존재하다并且已初始化。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'age' 不존재하다或未初始化。\n"</span></span><span>;
}

</span><span><span class="hljs-comment">// 조사하다 'name' 재산존재합니까?并且已初始化</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">property_exists</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span>) &amp;&amp; </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$person</span></span><span>-&gt;name)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"재산 'name' 존재하다并且已初始化。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

요약

Property_Exists 는 PHP에서 매우 실용적인 기능으로 객체의 특정 속성이 존재하는지 확인하는 데 도움이됩니다. 속성에 직접 액세스하는 것과 달리 Property_Exists를 사용하면 존재하지 않는 속성에 액세스하여 발생하는 오류를 효과적으로 피할 수 있습니다. 이 기능을 통해, 특히 동적으로 생성 된 객체 또는 데이터 불확실성을 다룰 때 객체 속성의 존재 또는 부재를보다 안전하게 처리 할 수 있습니다.