Maison >développement back-end >Problème PHP >Apprentissage de tableaux PHP : extraire des éléments numériques et les fusionner dans un nouveau tableau
Dans l'article précédent, nous avons présenté la désemption et la déduplication de tableau, c'est-à-dire la méthode de suppression des éléments vides et des éléments en double dans le tableau. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire → "Apprentissage des tableaux PHP : comment. pour supprimer les éléments vides ou en double 》. Cette fois, nous continuons à apprendre et à pratiquer les tableaux PHP et à expliquer comment filtrer les tableaux et extraire des éléments numériques.
→Recommandations associées : 《Résumé de la série d'apprentissage sur les tableaux PHP (mis à jour en permanence ~)》
Le contenu principal de l'article d'aujourd'hui est : Utilisez PHP pour filtrer les tableaux et filtrer les éléments numériques (valeurs numériques ou chaînes numériques ) , puis combinez-les dans un nouveau tableau pour revenir.
Ci-dessous, nous vous présenterons deux méthodes d'implémentation. Tout d'abord, nous commencerons par la méthode familière "boucle foreach", puis présenterons une méthode de filtrage des tableaux à l'aide des fonctions intégrées de PHP.
Méthode 1 : utilisez l'instruction foreach
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); foreach($array as $value){ if(is_numeric($value)){ $result[]=$value; } } var_dump($result); ?>
pour analyser le code :
Utilisez l'instruction foreach pour parcourir le tableau et attribuer la valeur clé à $value
dans chaque boucle ; $value
;
利用is_numeric()
函数检测$value
是否为数字或数字字符串;
如果是数字或数字字符串,则将$value
存入$results
数组中。
这样$results数组中的全是$array数组中的数字元素,使用var_dump($result)
,输出结果为:
方法2:使用array_filter() 函数
在之前的文章中,我们已经知道array_filter() 函数可以用回调函数来过滤数组中的元素,会将数组元素传递给回调函数进行处理。
直接给出实现代码:
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); function filter_number($value){ if(is_numeric($value)){ return TRUE; } } $result=array_filter($array,"filter_number"); var_dump($result); ?>
输出结果为:
下面来了解一下array_filter() 函数
array_filter() 函数会迭代数组中的每个值,将每个键值传递给用户定义的函数或回调函数;如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组(数组键名保持不变)。语法格式为:
array_filter ($array , function callbackfn ($value[, $key]),$mode)
$array :数组对象,不可省略。
function callbackfn ($value[, $key])
Utilisez la fonction is_numeric()
pour détecter si $value
est un nombre ou une chaîne de chiffres
S'il s'agit d'un nombre ou d'un nombre ; chaîne de nombres, puis $value
Stocker dans le tableau $results
.
var_dump($result)
, le résultat de sortie est : Donnez directement le code d'implémentation : rrreeeLe résultat de sortie est :
Jetons un coup d'œil à la fonction array_filter()
🎜La fonction array_filter() parcourt chaque valeur du tableau et transmet chaque valeur clé à une fonction définie par l'utilisateur ou Fonction de rappel ; si la fonction de rappel renvoie vrai, la valeur de clé actuelle dans le tableau d'entrée est renvoyée dans le tableau de résultat (le nom de clé du tableau reste inchangé). Le format de syntaxe est : 🎜rrreee🎜🎜🎜$array : objet tableau, ne peut pas être omis. 🎜🎜🎜🎜function callbackfn ($value[, $key])
: fonction de rappel, qui peut être omise si la fonction de rappel est omise, les valeurs nulles seront filtrées par défaut. 🎜🎜🎜🎜$mode : peut être omis, détermine la forme du paramètre reçu par le rappel : 🎜🎜🎜🎜ARRAY_FILTER_USE_KEY - le rappel accepte le nom de la clé comme seul paramètre 🎜🎜🎜🎜ARRAY_FILTER_USE_BOTH - le rappel accepte à la fois le nom de la clé et la valeur de la clé 🎜 🎜🎜 🎜Valeur par défaut Si 0 , seule la valeur est passée comme seul paramètre du rappel de rappel. 🎜🎜🎜🎜🎜🎜🎜C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜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!