en php, il semble que chaque objet puisse être converti en entier, juste en appelant I.e., Des objets valides seraient p> et non valide serait p> etc.
En Python, je pourrais simplement voir les éléments suivants: p> Comment puis-je y aller dans PHP? P> P> intval ($ objet) code>, mais ce n'est pas ce que je veux. Ce que je veux, c'est, de vérifier si l'objet serait valide pour être converti en un entier pour ce qu'un humain pense qu'il est.
12 code> li>
12.0 code> li>
"12" code> li>
"12.0" code> li>
ul>
myfooInstance () code> li>
"une chaîne" code> li>
"12.0.0" code> li>
"0 12.0" code> li>
ul>
5 Réponses :
Utilisez is_numérique .
<?php $tests = array( "42", 1337, "1e4", "not numeric", array(), 9.1 ); foreach ($tests as $element) { if (is_numeric($element)) { echo "'{$element}' is numeric", PHP_EOL; } else { echo "'{$element}' is NOT numeric", PHP_EOL; } } ?> '42' is numeric '1337' is numeric '1e4' is numeric 'not numeric' is NOT numeric 'Array' is NOT numeric '9.1' is numeric
Merci, ai-tu manqué ça!
Essayez ceci
La condition dans si ((int) $ variable) code> évaluerait à
false code> quand
$ variable == 0 code>.
Oui, oublié que "petit" détail :)
Entier strong> (pas seulement numérique) Test:
http://codepad.org/3e8iyhky résultats: p>
Échoue avec du type flotteur entier: (double) 123 code> p>
Merci beaucoup, mais is_numérique code> convient également. :)
Voir PHP's CTYPE_DIGIT () . p>
Cette fonction évalue une chaîne pour voir si tout le caractère est numérique. Ainsi, "1.1" code> ne retournera pas
true code> car
"". " Code> n'est pas numérique, mais
" 11 " code>. Notez également que cela fonctionne uniquement pour les chaînes, de sorte que les chiffres sans les guillemets environnants ne fonctionneront pas non plus. P>
Le comportement de la conversion Objets B> En Integer est indéfini.
Allez avec Dogbert et référez Gordon