Maison > Article > développement back-end > Comment filtrer une chaîne en php pour obtenir uniquement des nombres
Comment obtenir : 1. Utilisez l'instruction for pour parcourir la chaîne, utilisez la fonction is_numeric() dans le corps de la boucle pour extraire les caractères numériques et utilisez l'opérateur ".=" pour les fusionner dans une nouvelle chaîne. 2. Utilisez des expressions régulières et utilisez l'instruction "preg_replace("/[^0-9]/", "", $str)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Méthode 1 : Utiliser la fonction is_numeric()
<?php header("content-type:text/html;charset=utf-8"); function findNum($str) { $str = trim($str); if (empty($str)) { echo ''; }else{ $result = ''; for ($i = 0; $i < strlen($str); $i++) { if (is_numeric($str[$i])) { $result .= $str[$i]; } } echo $result; } } $str = '0我是123456一段测试的字789符串0'; findNum($str); ?>
Utiliser une boucle for pour parcourir la chaîne $str, utilisez la fonction is_numeric () pour déterminer si $str[$i]
est un caractère numérique. La fonction is_numeric() peut détecter si une variable est un nombre ou une chaîne numérique.
Utilisez is_numeric($str[$i]) dans le corps de la boucle pour déterminer si le caractère $str[$i] est un caractère numérique, si c'est le cas, supprimez-le et utilisez ".=" pour le fusionner ; une sous-chaîne numérique.
Regardez le résultat :
01234567890
Méthode 2 : Utilisez la fonction preg_replace()
<?php $str ='0我是123456一段测试的字789符串0'; $result = preg_replace("/[^0-9]/", "", $str); echo $result; ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!