Rechercher : dans
Par :

Connaitre le type d'une variable en php ?

Dernière réponse le 27 aoû 2008 à 11:55:35 Flynt, le 11 déc 2007 à 12:42:51 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « Connaitre le type d'une variable en php ? » dans :
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

cmonpseudoamoa, le 11 déc 2007 à 12:57:52
  • +1

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

Répondre à cmonpseudoamoa

2

cmonpseudoamoa, le 11 déc 2007 à 13:01:21
  • +1

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

Répondre à cmonpseudoamoa

3

Flynt, le 11 déc 2007 à 13:14:21
  • +1

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_foncti­ons_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à :)

Répondre à Flynt

6

;), le 27 aoû 2008 à 11:47:27

Et http://www.php.net c'est fait pourquoi à ton avis?

Répondre à ;)

7

 cmonpseudoamoa, le 27 aoû 2008 à 11:55:35

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 ....

Répondre à cmonpseudoamoa

4

cmonpseudoamoa, le 11 déc 2007 à 14:02:37

A toi de jouer maintenant ....

Et n'oublies pas de marquer le post resolu

Répondre à cmonpseudoamoa

5

Flynt, le 11 déc 2007 à 14:23:37

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 :(

Répondre à Flynt
Collection CommentÇaMarche.net