Position actuelle: Accueil> Derniers articles> Comment trouver des valeurs booléennes dans un tableau en combinaison avec IS_BOOL et Array_Filter? Explication de l'échantillon PHP

Comment trouver des valeurs booléennes dans un tableau en combinaison avec IS_BOOL et Array_Filter? Explication de l'échantillon PHP

gitbox 2025-09-09

Comment trouver des valeurs booléennes dans un tableau en combinaison avec IS_BOOL et Array_Filter? Explication de l'échantillon PHP

Dans PHP, la fonction IS_BOOL peut être utilisée pour vérifier si la variable est une valeur booléenne, tandis que la fonction Array_Filter peut filtrer les éléments dans un tableau basé sur la fonction de rappel spécifiée. En combinant ces deux, nous pouvons facilement filtrer les éléments booléens du tableau.

1. Comprendre Is_bool et Array_Filter

  • is_bool () : utilisé pour vérifier si la variable donnée est de type booléen. Il renvoie true si la variable est une valeur booléenne ( vrai ou false ), sinon il renvoie 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 () : Cette fonction est utilisée pour filtrer les éléments dans un tableau. Il reçoit deux paramètres: l'un est le tableau à filtrer et l'autre est une fonction de rappel. La fonction de la fonction de rappel est de déterminer quels éléments doivent être conservés et lesquels doivent être supprimés. Si la fonction de rappel renvoie true , l'élément sera conservé; Si faux , il sera supprimé.

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

2. Utiliser Is_bool et Array_Filter en combinaison

En combinant IS_BOOL et Array_Filter , nous pouvons filtrer tous les éléments booléens du tableau. Nous pouvons vérifier si chaque élément est une valeur booléenne via une fonction de rappel simple. S'il s'agit d'une valeur booléenne, l'élément sera conservé.

Exemple: filtrez les valeurs booléennes du tableau

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Exemple de tableau</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">// utiliser array_filter et is_bool Combiné pour filtrer les valeurs booléennes</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">// Seule la valeur booléenne est préservée</span></span><span>
});

</span><span><span class="hljs-comment">// Résultats d&#39;impression</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>

Sortie des résultats:

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

Dans cet exemple, Array_Filter iratera tous les éléments du tableau $ tableau , seuls les éléments qui sont des valeurs booléennes ( vrai ou false ) seront conservées. Notez que Array_Filter conservera les touches du tableau d'origine.

3. Traitez les clés du tableau

Array_Filter conservera les touches d'origine du tableau par défaut. Si vous souhaitez que les touches de tableau obtenues après le filtrage sont continues, vous pouvez utiliser la fonction Array_Values ​​pour réindexer le tableau.

Exemple: clé 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">// Filtre les valeurs booléennes et les clés de réindexer</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>);  // Seule la valeur booléenne est préservée
}));

</span><span><span class="hljs-comment">// Résultats d&#39;impression</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>

Sortie des résultats:

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

Avec Array_Values, nous obtenons un nouveau tableau avec des clés commençant à 0 et conservant toujours toutes les valeurs booléennes.

4. Résumé

En combinant IS_BOOL et Array_Filter , nous pouvons facilement filtrer tous les éléments booléens du tableau. Array_Filter fournit des fonctions de filtrage flexibles, tandis que IS_BOOL peut déterminer avec précision si un élément est de type booléen. Cette approche est très adaptée aux scénarios où filter précisément les valeurs booléennes lors du traitement des données.

Dans le développement réel, la compréhension et la maîtrise de l'utilisation de ces fonctions intégrées vous aideront à traiter efficacement les données de tableau.