Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment connaître le type d'une variable ?
auteur : Cyberzoide
La fonction gettype($var) retourne une chaîne de caractères contenant le nom du type de la variable $var.

Ce type peut être entier (integer), flottant (double), tableau (array), objet (object), booléen (boolean), chaîne de caractères (string), fonction définie par l'utilisateur (user function), ressource (ressource) ou inconnu (unknown type).
if(gettype(12.5) == 'double') {
    echo "c'est un flottant";
}
Il existe aussi tout un lot d'autres fonctions qui testent si une variable est d'un type donné, en retournant TRUE ou FALSE :
if(is_array($users)) {
    echo count($users);
}
lien : faq Comment vérifier le type d'une chaîne ?

Comment savoir si une variable est affectée ?
auteur : Kerod
De manière générale, on utilise la fonction isset() car elle permet de déterminer l'existence d'une variable. En effet, elle renvoie TRUE si la variable est définie, FALSE sinon.

Exemples d'utilisation :
Code avec un test à FALSE
if(isset($var))
{
  echo 'La variable existe et a pour valeur : ' . $var;
}
La variable $var n'étant pas définie dans notre portion de code, notre test renverra FALSE et par conséquent rien ne sera affiché.
Code avec un test à TRUE
$var = "Test";
if(isset($var))
{
  echo 'La variable existe et a pour valeur : ' . $var;
}
Ce code affichera que la variable existe, car elle a été définie plus haut.

Cette fonction peut aussi être utilisée pour effectuer des tests sur toutes autres structures de données comme les tableaux, les éléments de formulaires, etc. Notez aussi que le caractère nul ("\0") n'est pas équivalent à la constante NULL.

Attention : La fonction isset() fonctionne uniquement avec des variables car l'utilisation de toute autre chose aura comme conséquence une erreur d'analyse.

lien : faq Comment tester l'existence d'une constante ?

Comment savoir si une variable contient une valeur non nulle ?
auteur : Kerod
On peut être amené à tester le contenu d'une variable, que ce soit une chaîne de caractères, un tableau, un numérique, etc. Pour ce faire, il existe la fonction empty() qui détermine si une variable contient une valeur non nulle et retourne FALSE si la variable a une valeur non vide et différente de zéro.
Exemples d'utilisation avec empty()
$var;
if(empty($var))
{
  echo "TRUE"; //Affiche TRUE car la variable est créée mais pas affectée
}

$var = "";
if(empty($var))
{
  echo "TRUE"; //Affiche TRUE car la chaine de caractères est vide
}

$var = "0";
if(empty($var))
{
  echo "TRUE"; //Affiche TRUE car depuis PHP4, la chaîne "0" est considérée comme vide
}

$var = NULL;
if(empty($var))
{
  echo "TRUE"; //Affiche TRUE car NULL est considéré comme vide
}

$var = array();
if(empty($var))
{
  echo "TRUE"; //Affiche TRUE car le tableau est vide
}

$var = TRUE;
if(empty($var))
{
  echo "FALSE"; //Affiche FALSE car la valeur TRUE n'est pas considérée comme vide
}

$var = 1;
if(empty($var))
{
  echo "FALSE"; //Affiche FALSE car empty() renverrait TRUE uniquement si $var = 0
}

Pourquoi ma variable n'est pas interprétée dans une chaine ?
auteurs : Eusebius, Jérôme
Vous avez écrit ce qui suit et l'affichage n'est pas celui attendu
$variable = 'valeur' ;
echo 'chaine $variable'; // affiche : chaine $variable
Vous attendiez chaine valeur. L'explication est très simple : les variables ne sont pas interprétées dans les chaines entre simple quotes.
Vous avez donc trois solutions :
1) La concaténation
$variable = 'valeur' ;
echo 'chaine ' . $variable; // affiche : chaine valeur
2) Utiliser des doubles quotes (guillemets).
Les variables sont interprétées dans les chaînes entre double quotes, mais ce n'est pas recommandé d'un point de vue performances. Si l'on utilise quand même des variables dans des chaînes entre double quotes, les entrées de tableaux doivent être entourés d'accolades et il n'est pas possible d'utiliser les membres d'objets ($obj->machin).
$variable = 'valeur' ;
echo "chaine $variable" ; // affiche : chaine valeur

$tableau['cle'] = 'valeur2';
echo "test {$tableau['cle']}" ; // affiche : test valeur2
3) La troisième solution est l'utilisation de la syntaxe HereDoc
$variable = 'valeur' ;
echo <<<identifiant
chaine $variable
identifiant;

Qu'est-ce qu'une variable statique ?
auteur : Julp
Une variable statique est uniquement utilisée dans le corps des fonctions. Elle n'est pas accessible à l'extérieur de la fonction où elle est déclarée. Static nous vient du C et signifie que la valeur de la variable conserve après les appels de la fonction sa valeur puisque l'emplacement mémoire alloué à cette variable est constant. Ce qui n'est pas le cas en temps normal avec les variables puisqu'elles sont détruites à la fin de l'exécution de la fonction (soit lorsque la fin du bloc de la fonction a été atteint, soit lorsque return est rencontré).

Exemple :
function compteur() {
    static $compteur = 0; // Déclaration et initialisation de la variable statique $compteur
    $compteur++ ; // Incrémentation de la variable
    echo "Nombre d'appels à la fonction : " . $compteur;
}

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com