Comment utiliser array_filter () en combinaison avec la fonction is_array () pour filtrer les éléments du tableau dans un tableau?
Dans la programmation PHP, nous devons souvent manipuler des tableaux, en particulier lorsque nous traitons des tableaux multidimensionnels. Parfois, nous pouvons avoir besoin de filtrer tous les éléments de sous-réseau à partir d'un réseau multidimensionnel. Array_Filter () est une fonction très utile qui peut être utilisée pour filtrer les éléments du tableau, tandis que la fonction is_array () est utilisée pour vérifier si une variable est un tableau. Si nous utilisons ces deux fonctions ensemble, nous pouvons facilement filtrer tous les éléments du tableau à partir du tableau.
Dans cet article, nous apprendrons à combiner des fonctions is_array () et array_filter () pour filtrer les éléments de tableau dans un tableau. Avec des exemples pratiques, vous pourrez mieux comprendre comment ces deux fonctions sont utilisées.
La fonction Array_Filter () est utilisée pour filtrer les éléments dans un tableau. Il accepte un tableau et décide de conserver des éléments dans le tableau en fonction de la valeur booléenne renvoyée par la fonction de rappel. L'élément qui renvoie True sera conservé par la fonction de rappel, et l'élément qui renvoie false sera filtré.
$array = [1, 2, 3, 4, 5];
$filteredArray = array_filter($array, function($value) {
return $value > 3; // Conserver seulement plus que 3 Éléments
});
print_r($filteredArray);
Sortir:
Array
(
[3] => 4
[4] => 5
)
La fonction is_array () est utilisée pour vérifier si la variable donnée est un tableau. S'il s'agit d'un tableau, retournez vrai , sinon faux .
$var = [1, 2, 3];
if (is_array($var)) {
echo "C'est un tableau";
} else {
echo "Ce n'est pas un tableau";
}
Sortir:
C'est un tableau
Maintenant, supposons que nous ayons un tableau contenant plusieurs sous-réseaux et des éléments sans réseau. Si nous voulons filtrer tous les éléments de sous-traitage à partir de celui-ci, nous pouvons utiliser is_array () pour déterminer si chaque élément est un tableau et combiner array_filter () pour filtrer les éléments qui remplissent les conditions.
Par exemple, ce qui suit est un tableau mixte contenant un tableau et des éléments sans réseau:
$array = [
1,
[2, 3, 4],
"hello",
[5, 6, 7],
8,
"world"
];
Nous voulons filtrer tous les éléments de sous-réseau. Pour ce faire, nous pouvons utiliser la fonction array_filter () et filtrer les éléments du tableau dans le tableau via is_array () .
$array = [
1,
[2, 3, 4],
"hello",
[5, 6, 7],
8,
"world"
];
$filteredArray = array_filter($array, function($value) {
return is_array($value); // 仅保留数组类型Éléments
});
print_r($filteredArray);
Sortir:
Array
(
[1] => Array
(
[0] => 2
[1] => 3
[2] => 4
)
[3] => Array
(
[0] => 5
[1] => 6
[2] => 7
)
)
Comme indiqué ci-dessus, array_filter () utilise is_array () pour déterminer si chaque élément est un tableau via la fonction de rappel et conserve des éléments du type de tableau. Les éléments non-terrassement sont filtrés.
En combinant IS_Array () et Array_Filter () , nous pouvons facilement filtrer tous les éléments du tableau à partir d'un tableau de types mixtes. Cette méthode est particulièrement adaptée au traitement des tableaux multidimensionnels, qui peuvent rapidement filtrer les sous-réseaux pour nous aider à effectuer un traitement ultérieur.
Ce qui précède est une introduction et un exemple de code sur la façon d'utiliser array_filter () en combinaison avec la fonction is_array () pour filtrer les éléments du tableau dans un tableau. J'espère que cela vous aide!