Maison  >  Article  >  développement back-end  >  Comment effacer les éléments non numériques dans un tableau en php

Comment effacer les éléments non numériques dans un tableau en php

PHPz
PHPzoriginal
2023-04-19 11:41:47755parcourir

Dans le développement PHP, le tableau est un type de données très important. Nous devrons peut-être effacer tous les éléments non numériques du tableau afin d'effectuer des calculs plus complexes ou d'autres opérations.

Cet article expliquera comment utiliser PHP pour effacer les éléments non numériques d'un tableau et fournira quelques exemples pratiques pour aider les lecteurs à mieux comprendre ce processus.

  1. Utilisez la fonction intégrée PHP array_filter()

array_filter() pour parcourir le tableau et supprimer les éléments qui ne remplissent pas les conditions. Nous pouvons utiliser cette fonction pour filtrer un tableau via une fonction personnalisée, en ne conservant que les éléments numériques. Voici un exemple de code :

$array = array("string", 1234, "5", "67.8", 90);

function only_num($var)
{
    return is_numeric($var);
}

$result = array_filter($array, "only_num");

print_r($result);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

Dans l'exemple ci-dessus, nous utilisons la fonction is_numeric(), qui détermine si la variable donnée est un nombre ou une chaîne de nombres. Nous transmettons ensuite cette fonction comme fonction de rappel à la fonction array_filter() pour traiter le tableau.

  1. Utilisation d'expressions régulières

Les expressions régulières sont un outil de traitement de texte très utile qui peut être utilisé pour faire correspondre et remplacer du texte par un certain modèle. Dans ce cas, nous pouvons utiliser des expressions régulières pour faire correspondre tous les nombres et supprimer les éléments non numériques.

Ce qui suit est un exemple d'expression régulière pour nettoyer un tableau :

$array = array("string", 1234, "5", "67.8", 90);

foreach ($array as $key => $value) {
    if (preg_match('/^\d+$/',$value) !== 1) {
        unset($array[$key]);
    }
}

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [4] => 90 )

Dans l'exemple ci-dessus, nous utilisons la fonction preg_match() et l'expression régulière "/^d+$/" pour faire correspondre toutes les chaînes numériques. Si la correspondance réussit (1 est renvoyé), l'élément est un nombre. Sinon, nous appellerons la fonction unset() pour supprimer l'élément. Enfin, nous affichons les éléments numériques restants à l'écran.

  1. Utilisation de la fonction array_walk()

La fonction array_walk() est une autre fonction intégrée de PHP qui peut être utilisée pour parcourir un tableau et exécuter une fonction personnalisée sur chaque élément. Nous pouvons utiliser cette fonction pour effacer les éléments non numériques d'un tableau.

Voici un exemple d'utilisation de la fonction array_walk() pour nettoyer un tableau :

$array = array("string", 1234, "5", "67.8", 90);

function only_num(&$value, $key)
{
    if (!is_numeric($value)) {
        unset($value);
    }
}

array_walk($array, "only_num");

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

Dans l'exemple ci-dessus, nous transmettons la fonction de rappel à la fonction array_walk() pour effacer les éléments non numériques. Lorsque l'élément n'est pas un nombre, on le supprime pour qu'il ne reste que des éléments numériques.

Conclusion

Dans le développement PHP, l'utilisation de tableaux est très courante. Parfois, nous devons supprimer tous les éléments non numériques d'un tableau afin d'effectuer des calculs complexes ou d'autres opérations. Cet article décrit trois manières différentes d'atteindre cet objectif : en utilisant la fonction intégrée PHP array_filter(), en utilisant des expressions régulières et en utilisant la fonction array_walk(). Vous pouvez choisir différentes méthodes en fonction de vos propres besoins, et les modifier et les ajuster en fonction de la situation réelle. En développement réel, cette technique devrait être très utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn