현재 위치: > 최신 기사 목록> IS_BOOL 및 ARRAY_FILTER와 함께 배열에서 부울 값을 찾는 방법은 무엇입니까? PHP 샘플 설명

IS_BOOL 및 ARRAY_FILTER와 함께 배열에서 부울 값을 찾는 방법은 무엇입니까? PHP 샘플 설명

gitbox 2025-09-09

IS_BOOL 및 ARRAY_FILTER와 함께 배열에서 부울 값을 찾는 방법은 무엇입니까? PHP 샘플 설명

PHP에서 IS_BOOL 함수는 변수가 부울 값인지 확인하는 데 사용될 수있는 반면 Array_Filter 함수는 지정된 콜백 함수를 기반으로 배열에서 요소를 필터링 할 수 있습니다. 이 두 가지를 결합하여 배열에서 부울 요소를 쉽게 필터링 할 수 있습니다.

1. IS_BOOLARRAY_FILTER를 이해하십시오

  • IS_BOOL () : 주어진 변수가 부울 유형인지 확인하는 데 사용됩니다. 변수가 부울 값 ( true 또는 false ) 인 경우 true를 반환하고 그렇지 않으면 false를 반환합니다.

     <span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>));  </span><span><span class="hljs-comment">// bool(true)</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">var_dump</span></span><span>(</span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>));     </span><span><span class="hljs-comment">// bool(false)</span></span><span>
    </span></span>
  • Array_Filter () :이 함수는 배열에서 요소를 필터링하는 데 사용됩니다. 두 개의 매개 변수를 수신합니다. 하나는 필터링 될 배열이고 다른 하나는 콜백 함수입니다. 콜백 함수의 기능은 보유 해야하는 요소와 삭제 해야하는 요소를 결정하는 것입니다. 콜백 함수가 true를 반환하면 요소가 유지됩니다. false 가되면 제거됩니다.

     <span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>];
    </span><span><span class="hljs-variable">$filtered</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, function(</span><span><span class="hljs-variable">$value</span></span><span>) {
        </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span> &gt; </span><span><span class="hljs-number">2</span></span><span>;
    });
    </span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$filtered</span></span><span>);  </span><span><span class="hljs-comment">// 산출 [3, 4, 5]</span></span><span>
    </span></span>

2. IS_BOOLARRAY_FILTER를 조합하여 사용하십시오

IS_BOOLARRAY_FILTER를 결합하여 배열에서 모든 부울 요소를 필터링 할 수 있습니다. 간단한 콜백 함수를 통해 각 요소가 부울 값인지 확인할 수 있습니다. 부울 값이라면 요소가 유지됩니다.

예 : 배열에서 부울 값을 필터링합니다

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 예제 배열</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"hello"</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>];

</span><span><span class="hljs-comment">// 사용 array_filter 그리고 is_bool 부울 값을 필터링하기 위해 결합되었습니다</span></span><span>
</span><span><span class="hljs-variable">$filteredArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, function(</span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);  </span><span><span class="hljs-comment">// 부울 가치 만 보존됩니다</span></span><span>
});

</span><span><span class="hljs-comment">// 인쇄 결과</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$filteredArray</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

결과 출력 :

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; 
    [</span><span><span class="hljs-meta">5</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">7</span></span><span>] =&gt; 
)
</span></span>

이 예에서는 Array_Filter가 $ array 배열의 모든 요소를 ​​반복합니다. 부울 값 ( true 또는 false )의 요소 만 보존됩니다. Array_Filter는 원래 배열의 키를 유지합니다.

3. 배열의 키를 처리하십시오

Array_Filter는 기본적으로 배열의 원래 키를 유지합니다. 필터링 후 배열 키를 연속적으로 원한다면 Array_Values ​​함수를 사용하여 배열을 다시 표시 할 수 있습니다.

예 : Reindex 키

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">"hello"</span></span><span>, </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-literal">false</span></span><span>];

</span><span><span class="hljs-comment">// 부울 값 및 재 인덱스 키를 필터링하십시오</span></span><span>
</span><span><span class="hljs-variable">$filteredArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, function(</span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">is_bool</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>);  // 부울 가치 만 보존됩니다
}));

</span><span><span class="hljs-comment">// 인쇄 결과</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$filteredArray</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

결과 출력 :

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; 
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; 
)
</span></span>

Array_Values를 사용하면 키가 0으로 시작하여 모든 부울 값을 유지하는 새로운 배열을 얻습니다.

4. 요약

IS_BOOLARRAY_FILTER를 결합하여 배열에서 모든 부울 요소를 편리하게 필터링 할 수 있습니다. Array_Filter는 유연한 필터링 기능을 제공하는 반면 IS_BOOL은 요소가 부울 유형인지 정확하게 결정할 수 있습니다. 이 접근법은 데이터를 처리 할 때 부울 값을 정확하게 필터링하는 시나리오에 매우 적합합니다.

실제 개발에서 이러한 내장 기능의 사용을 이해하고 마스터하면 배열 데이터를 효율적으로 처리하는 데 도움이됩니다.