J'essaie de mettre en œuvre la fonction ci-dessous. Serait-il préférable d'utiliser un type de regex ici? J'ai besoin de capturer le numéro aussi.
5 Réponses :
Ceci ne vérifie que si le dernier caractère de la chaîne est numérique, si vous souhaitez attraper et renvoyer des numéros multidigants, vous devrez peut-être utiliser une regex. P>
Une regex appropriée serait retour is_numeric (SUBSTR ($ string, -1, 1)); code> p>
/ [0-9] + $ / code> qui prendra une chaîne numérique si elle est à la fin d'une ligne. P>
Pour la regex, vous pouvez remplacer [0-9] avec \ D
Et pour le premier caractère, vous pouvez simplement le basculer pour retourner is_numeric (substr ($ string, 0, 1)); code>
$test="abc123"; //$test="abc123n"; $r = preg_match_all("/.*?(\d+)$/", $test, $matches); //echo $r; //print_r($matches); if($r>0) { echo $matches[count($matches)-1][0]; } the regex is explained as follows:.*? - this will take up all the characters in the string from the start up until a match for the subsequent part is also found.(\d+)$ - this is one or more digits up until the end of the string, grouped.without the ? in the first part, only the last digit will be matched in the second part because all digits before it would be taken up by the .*
À mon avis, le moyen simple de trouver une chaîne se termine par le numéro est
Pour éviter une erreur d'index non définie potentielle Utilisez à la place. p> p>
Bon code court, mais si le code $ code> est vide. Je vais lancer un avertissement: décalage de chaîne non initialisée -1. Vous devez ajouter un test pour vérifier si la chaîne est vide, pourriez-vous s'il vous plaît voir ma réponse que je gère ce cas!
Premièrement, em> Prenez la longueur de la chaîne et vérifiez s'il est égal à zéro (vide) em> puis tests em>: p> p> renvoie false code>. Deuxièmement, em> Vérifiez une fonction intégrée sur le dernier caractère
$ len-1 code> em>.
is_numérique (var) code> retourne booléen si une variable est une chaîne numérique ou non. P>
blockquote>
Comme ce n'est qu'un personnage, il est probablement préférable de ne pas vous embêter à l'aide de Regex.