現在の位置: ホーム> 最新記事一覧> is_boolとarray_filterと組み合わせてアレイでブール値を見つける方法は? PHPサンプルの説明

is_boolとarray_filterと組み合わせてアレイでブール値を見つける方法は? PHPサンプルの説明

gitbox 2025-09-09

is_boolとarray_filterと組み合わせてアレイでブール値を見つける方法は? PHPサンプルの説明

PHPでは、 IS_bool関数を使用して変数がブール値であるかどうかを確認できますが、 Array_filter関数は指定されたコールバック関数に基づいてArrayの要素をフィルタリングできます。これら2つを組み合わせることで、アレイからブール要素を簡単に除外できます。

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() :この関数は、配列内の要素をフィルタリングするために使用されます。 2つのパラメーターを受信します。1つはフィルタリングする配列、もう1つはコールバック関数です。コールバック関数の関数は、どの要素を保持する必要があり、どの要素を削除する必要があるかを決定することです。コールバック関数が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は要素がブールタイプのかどうかを正確に判断できます。このアプローチは、データを処理するときにブール値を正確にフィルタリングするシナリオに非常に適しています。

実際の開発では、これらの組み込み関数の使用を理解し、習得することで、配列データを効率的に処理できます。