Connaitre le type d'une variable en php ?

Flynt -  
 PhilPantin -
Bonjour,

J'aimerais simplement savoir s'il existe en php des fonctions similaires à
isBoolean ou isInteger
qui permettent de tester le type d'une variable :)

A vous
A voir également:

7 réponses

cmonpseudoamoa Messages postés 311 Statut Membre 77
 
Est ce que ceci correspond à ta demande ?

--------------------------------------------------------------------------------------------------------------------------------
Ces fonctions testent si la valeur est numérique, et affinent ce test : entier, virgule flottante, réel, double, long ou scalaire (type spécial pouvant contenir les type int, float, string ou bool).

is_numeric()
is_int()
is_integer()
is_float()
is_real()
is_double ()
is_long()
is_scalar()

-----------------------------------------------------
is_bool()

Teste si la valeur est booléenne (true ou false, et non 0 ou 1)
----------------------------------------------------------
is_string()

Teste si la valeur est une chaîne ("abcdfsdf4561.1f16s")
--------------------------------------------------------------------------
is_object()

Teste si variable est de type Objet (class MonObjet)
-------------------------------------------------------------------------------
is_array()

Teste s'il s'agit d'un tableau (array())
---------------------------------------------------------------------------------------
is_resource()

Teste s'il s'agit d'une ressource PHP (liaison MySQL par exemple)
--------------------------------------------------------------------------------------------
is_null()

Teste si la valeur est null (null)
--------------------------------------------------------------------------------
is_callable()

Indique si la variable peut-être appellée comme fonction
12
pasko
 
gettype($lavariable) serait plus simple.
9
PhilPantin
 
Non, gettype est déprécié.

Lire : https://www.php.net/manual/fr/function.gettype.php

Bien à vous
0
cmonpseudoamoa Messages postés 311 Statut Membre 77
 
Précision supplémentaire


Dans tous les cas, avant de lancer ces tests, il sera utile de vérifier si les variables observées sont effectivement affectées, via isset(), avant de tester le type lui-même :

if (isset($_REQUEST['numeroSecu']) && is_int($_REQUEST[numeroSecu'']) {
faireUnTruc();
else {
faireAutreChose();
}

infos trouvées ici
2
pasko
 
sans majuscules : gettype($lavariable) serait plus simple.
2
PhilPantin
 
Non, minuscules, majuscules, php s'en fiche pour le nom des fonctions (faux en revanche pour le nom des variables). Donc GETTYPE, gETtYPE, etc., c'est kif-kif bourricot :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Flynt
 
Merci pour les réponses,

J'ai entre temps trouvé cette page qui référence pas mal de fonctions utiles :

http://www.nexen.net/articles/dossier/17440-liste_des_fonctions_php_a_surveiller.php

mais les tiennes répondent encore mieux à ma demande :)

Pour info j'essaye de faire des controles d'erreurs sur un formulaire en ajax et je teste donc au début de la page php qui effectue le traitement si la/les variable(s) sont bien renseignées :

if(isset($_POST["idsel"]))
{

ensuite ce qui m'intéresse c'est de tester le type à peu près comme ça donc :

if (!$_POST["idsel"].is_numeric)

puis de modifier la balise div qui m'intéresse de façon à ce qu'elle affiche le bon message d'erreur.

Voilà :)
1
;)
 
et https://www.php.net/ c'est fait pourquoi à ton avis?
0
cmonpseudoamoa Messages postés 311 Statut Membre 77 > ;)
 
Franchement je ne vois pas l'intérêt de cette réponse 8 mois plus tard et sur un ton aussi présomptueux et arrogant ....
0
cmonpseudoamoa Messages postés 311 Statut Membre 77
 
A toi de jouer maintenant ....

Et n'oublies pas de marquer le post resolu
0
Flynt
 
Ca fonctionne comme je veux, par contre pour le post à résolu j'ai bien peur de pas pouvoir n'étant pas enregistré sur le site :(
0