IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment convertir un "1" d'un formulaire en en 1


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut Comment convertir un "1" d'un formulaire en en 1
    Bonjour,

    J'ai une quetsion toute bête.
    J'envoie des données avec un formulaire. Toutes les valeurs correspondent a des id, soit des int, d'une base de donnée.

    Etant donnée que le 1 du formulaire est en fait un string. Je souhiate le convertir en int.

    Je me demande s'il faut simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $id = (int)$_POST['id'];
    Ou s'il y avait un peu plus compliqué
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Pourquoi n'essaies tu pas ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Oui en effet, mais en fait les valeurs sont dans des array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $glacier=array(
    "1"=>"1",
    "2"=>"13",
    "3"=>"32"
    );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for($i=0; $i < count($glaciers); $i++){
    $glaciers[$i]=(int)$glaciers[$i];
    }
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Cela ne change rien.

    Pour t'en convaincre ...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for($i=0; $i < count($glaciers); $i++){
    $glaciers[$i]=(int)$glaciers[$i];
    var_dump($glaciers[$i]);
    }

    Regarde ce que te renvoie la page. Exemple : int(0) indique qu'il s'agit d'un int de valeur 0.

    PS : le code que tu as posté ne fonctionne pas complètement. Il n'y a pas de poste 0 dans ton tableau et le tableau s'appelle glacier puis glaciers.

    Quoi qu'il en soit pour des problèmes de ce genre le plus simple est d'essayer. Non ?
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1-la meilleure façon de parcourir un array en PHP est d'utiliser foreach().
    2- Pour définir un entier, on peut utiliser intval().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $glacier = array(
    	"1"=>"1",
    	"2"=>"13",
    	"3"=>"32"
    );
     
    foreach( $glacier as $idx => $val )
    {
    	echo intval($idx).' : '.$val.'<br />';
    }
    Par contre, un nombre en string ou en integer ne change pas grand chose en PHP, qui utilise un typage faible.
    Pour s'en convaincre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $sum1 = '';
    $sum2 = '';
    $sum3 = '';
    foreach( $glacier as $idx => $val )
    {
    	$sum1 += $idx;
    	$sum2 += intval($idx);
    	$sum3 += (int)$idx;
    }
    echo $sum1.'<br />';
    echo $sum2.'<br />';
    echo $sum3.'<br />';
    On obtient bien 6 dans les 3 cas.

    N.B. Perso, pour une récupération d'id, j'utilise toujours intval().

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 096
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 096
    Points : 944
    Points
    944
    Par défaut
    Merci Jreaux et à tous
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo