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.
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> > </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>
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é.
<span><span><span class="hljs-meta"><?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'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">?></span></span><span>
</span></span>
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">1</span></span><span>] =>
[</span><span><span class="hljs-meta">5</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">7</span></span><span>] =>
)
</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.
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.
<span><span><span class="hljs-meta"><?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'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">?></span></span><span>
</span></span>
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">1</span></span><span>] =>
[</span><span><span class="hljs-meta">2</span></span><span>] => </span><span><span class="hljs-number">1</span></span><span>
[</span><span><span class="hljs-meta">3</span></span><span>] =>
)
</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.
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.
Étiquettes associées:
array_filter