Aktueller Standort: Startseite> Neueste Artikel> Wie finde ich Boolesche Werte in einem Array in Kombination mit IS_BOOL und Array_filter? PHP -Probe Erläuterung

Wie finde ich Boolesche Werte in einem Array in Kombination mit IS_BOOL und Array_filter? PHP -Probe Erläuterung

gitbox 2025-09-09

Wie finde ich Boolesche Werte in einem Array in Kombination mit IS_BOOL und Array_filter? PHP -Probe Erläuterung

In PHP kann die Funktion IS_BOOL verwendet werden, um zu überprüfen, ob die Variable ein boolescher Wert ist, während die Funktion array_filter in einem Array basierend auf der angegebenen Rückruffunktion filtern kann. Wenn wir diese beiden kombinieren, können wir die Booleschen Elemente aus dem Array leicht herausfiltern.

1. Verstehen Sie IS_BOOL und Array_filter

  • IS_BOOL () : Wird verwendet, um zu überprüfen, ob die angegebene Variable von einem booleschen Typ ist. Es gibt true zurück, wenn die Variable ein boolescher Wert ( wahr oder falsch ) ist, andernfalls gibt sie false zurück.

     <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 () : Diese Funktion wird verwendet, um Elemente in einem Array zu filtern. Es empfängt zwei Parameter: Eines ist das zu filterne Array und der andere ist eine Rückruffunktion. Die Funktion der Rückruffunktion besteht darin, festzustellen, welche Elemente beibehalten werden müssen und welche gelöscht werden müssen. Wenn die Rückruffunktion true zurückgibt, wird das Element beibehalten. Wenn falsch , wird es entfernt.

     <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">// Ausgabe [3, 4, 5]</span></span><span>
    </span></span>

2. Verwenden Sie IS_BOOL und Array_filter in Kombination

Durch die Kombination von IS_BOOL und Array_filter können wir alle booleschen Elemente aus dem Array herausfiltern. Wir können überprüfen, ob jedes Element durch eine einfache Rückruffunktion ein boolescher Wert ist. Wenn es sich um einen Booleschen Wert handelt, wird das Element beibehalten.

Beispiel: Filtern Sie die Booleschen Werte aus dem Array heraus

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Beispielarray</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">// verwenden array_filter Und is_bool Kombiniert zu filtern booleschen Werte</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">// Nur der Boolesche Wert ist erhalten</span></span><span>
});

</span><span><span class="hljs-comment">// Druckergebnisse</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>

Ergebnisse Ausgabe:

 <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>

In diesem Beispiel wird Array_Filter alle Elemente im $ Array -Array itererieren, nur die Elemente, die boolesche Werte ( wahr oder falsch ) sind, werden erhalten. Beachten Sie, dass Array_filter die Schlüssel des ursprünglichen Arrays behält.

3. Verarbeiten Sie die Schlüssel des Arrays

Array_Filter behält standardmäßig die ursprünglichen Schlüssel des Arrays. Wenn Sie möchten, dass die nach dem Filterung erhaltenen Array-Tasten kontinuierlich sind, können Sie die Funktion array_values ​​verwenden, um das Array wieder zu indeminieren.

Beispiel: Reindedex -Schlüssel

 <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">// Filter-Boolesche Werte und Neuindextasten</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>);  // Nur der Boolesche Wert ist erhalten
}));

</span><span><span class="hljs-comment">// Druckergebnisse</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>

Ergebnisse Ausgabe:

 <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>

Mit Array_Values ​​erhalten wir ein neues Array mit Tasten ab 0 und behalten immer noch alle booleschen Werte bei.

4. Zusammenfassung

Durch die Kombination von IS_BOOL und Array_filter können wir alle booleschen Elemente aus dem Array bequem herausfiltern. Array_filter liefert flexible Filterfunktionen, während IS_BOOL genau bestimmen kann, ob ein Element einen Booleschen Typ ist. Dieser Ansatz ist sehr geeignet für Szenarien, in denen die booleschen Werte bei der Verarbeitung von Daten präzise filtern.

In der tatsächlichen Entwicklung können Sie Array-Daten effizient verarbeiten, wenn Sie die Verwendung dieser integrierten Funktionen verstehen und beherrschen.