[PHP] Entiers

Entiers [PHP] - PHP - Programmation

Marsh Posté le 02-09-2004 à 14:02:48    

J'ai une classe:
 

Code :
  1. class pouet
  2. {
  3. var $a;
  4. var $b;
  5.    function pouet()
  6.    {
  7.       // traitement sql
  8.       $sql = mysql_fetch_row($req);
  9.       $this->a = $sql[0];
  10.       $this->b = $sql[1];
  11.    }
  12.    function affiche()
  13.    {
  14.       echo $this->a;
  15.       // affiche "6";
  16.       $this->a += 5;
  17.       // n'affiche rien
  18.    }
  19. }


 
Et si je fait un test avec is_integer sur $this->a

Code :
  1. echo (is_integer($this->a)) ? "Integer" : "Not an integer";


 
J'ai "Not an integer" :/
 
Disons que ca m'emmerde un peu...
Y'a quelque chose qui do it m'échapper mais je vois pas quoi :/


Message édité par Ayuget le 02-09-2004 à 14:06:04
Reply

Marsh Posté le 02-09-2004 à 14:02:48   

Reply

Marsh Posté le 02-09-2004 à 14:09:57    

var ne definit pas de type integer ?
si tu fais $this->a+0 ? (pour le forcer à devenir un entier )

Reply

Marsh Posté le 02-09-2004 à 14:34:14    

ca marche si je fait $this->a+0 :jap:
 
Mais c'est vraiment con comme fonctionnement :/

Reply

Marsh Posté le 02-09-2004 à 14:39:38    

Ayuget a écrit :

ca marche si je fait $this->a+0 :jap:
 
Mais c'est vraiment con comme fonctionnement :/


 
C'est parce qu'il n'y a pas de typage pour le moment.
un article sympa :
http://php.benscom.com/manual/fr/language.types.php

Reply

Marsh Posté le 02-09-2004 à 14:40:50    

echo (int)$this->a ca marche pu? :o

Reply

Marsh Posté le 02-09-2004 à 22:57:06    

C'est parce que ce que tu récupères de ta requete SQL (pour tous les champs) c'est de type string.
 
Pour voir le type et la valeur d'une variable tu fais var_dump($tavariable).
 

Reply

Marsh Posté le 02-09-2004 à 23:16:34    

intval($a);
 
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed