Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1177 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Utilisation de la fonction unserialize

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation de la fonction unserialize

n°1867606
sonia5
Posté le 30-03-2009 à 18:49:46  profilanswer
 

Bonsoir , tout le monde
je sérialise et j'obtiens un tableau sérialise et voici son contenu :
a:2:{s:1:"1";s:0:"";s:3:"elt";s:6:"valeur";}
 
tel que je sauvegarde cette valeur dans une variable en PHP
$tab='a:2:{s:1:"1";s:0:"";s:3:"elt";s:6:"valeur";}';
 
et après je veux transformer cette variable à une table normale
et j'ai fait ça :' .
foreach($tab as $key=>$val)
{
$toto = unserialize($key);
echo "\$toto : $toto<br/>";
}  
Mais voici le message d'erreur :
Invalid argument supplied for foreach()
Comment je peux résoudre ce prb ; sachant que je veux obtenir un tabaleau normal comme rèsultat

mood
Publicité
Posté le 30-03-2009 à 18:49:46  profilanswer
 

n°1867609
Profil sup​primé
Posté le 30-03-2009 à 18:56:10  answer
 

tu vas poser les questions dans ton topic au lieu d'en créer un à chaque fois ?
Et puis on t'as donnée la réponse plusieurs fois déjà... Seulement tu n'as pas du prendre la peine de réfléchir/lire la doc sinon tu aurais déjà trouvé...

n°1867610
Profil sup​primé
Posté le 30-03-2009 à 18:56:41  answer
 

bon désolé si je m'énerve mais quand on aide sur des forums et que les gens ne prennent pas la peine de nous lire, c'est désagréable.

n°1867613
sonia5
Posté le 30-03-2009 à 19:19:37  profilanswer
 

Mais non
Moi au debut je ne sais pas c'est quoi serialisè un tableau et c'est vous qui m'avez aidèe mais mnt je sais le rôle de cahque fonction
Mais j ai un prb au niveau de code PHP
est ce que je n'ai pas bien affectè la valeur bien ou bien quoi

 

c'est pour cela pour moi ça est un autre prb


Message édité par sonia5 le 30-03-2009 à 19:21:05
n°1867617
yellu
Posté le 30-03-2009 à 19:34:31  profilanswer
 

Non, tu n'as pas bien compris car la tu essaye de boucler sur le résultat d'une serialisation (une string).
 
Un foreach se fait sur un array donc tu dois unserialize la string avant ...
 
Désolé mais après 3 topics quand même ...

n°1867619
sonia5
Posté le 30-03-2009 à 19:36:53  profilanswer
 

j essaye ça avant mais ne m'arche pas pr moi
 
foreach(unserialize($tab1) as $key=>$val)
{
$toto = $key;
echo "\$toto : $toto<br/>";
}
il m affiche même erreur
Et pardon à ts la prochaine fois je vais rester sur même topic ok
Sachant que avant je veux afficher le tableau et j'ai fait comme ça
print_r(unserialize($tab1)) mais il ne m affiche rien donc mon traitement pas valide


Message édité par sonia5 le 30-03-2009 à 19:42:29
n°1867620
yellu
Posté le 30-03-2009 à 19:38:08  profilanswer
 

Donnes le code intégrale parce que jusqu'ici il était question de $tab pas de $tab1

n°1867623
sonia5
Posté le 30-03-2009 à 19:46:47  profilanswer
 

ce qui concerne $tab1 c'est un erreur de tape
Voici mon code
<?php
a:2:{s:1:"1";s:0:"";s:3:"elt";s:6:"valeur";}
$tab='a:2:{s:1:"1";s:0:"";s:3:"elt";s:6:"valeur";}';
 
foreach(unserialize($tab) as $key=>$val)
{
$toto = $key;
echo "\$toto : $toto<br/>";
}  
//autre solution
$tab1=unserialize($tab);
print_r($tab1[1]); //aucun resultat
?>

n°1867625
yellu
Posté le 30-03-2009 à 19:58:47  profilanswer
 

ça m'etonnerai que ça soit ton code, sinon tu as un parse error ligne 2 ...
 
Edit au passage $tab1[1] renverra vide car dans ton serialize tu cree $tab[1] = ""; donc c'est un peu normal ... ' s:1:"1";s:0:"" '


Message édité par yellu le 30-03-2009 à 20:04:01
n°1867640
sonia5
Posté le 30-03-2009 à 20:28:55  profilanswer
 

Mais j ai meme prb malgrè je tape  
$tab1=unserialize($tab);
print_r($tab1[elt]); //aucun resultat  
Moi je veux seulement te montrer un exemple
donc $tab1 est vide
et aussi j ai des erreur au niveau de foreach
Est ce que mon code est mal utilisè la fonction unserialize
 

mood
Publicité
Posté le 30-03-2009 à 20:28:55  profilanswer
 

n°1867653
yellu
Posté le 30-03-2009 à 20:49:40  profilanswer
 

$tab1[elt] ça cherche un index du tableau qui a pour valeur la constante elt, ce n'est pas l'index "elt"

n°1867676
sonia5
Posté le 30-03-2009 à 21:50:17  profilanswer
 

Merci pour vos rèponses
Mais Moi j'essaye ts tel que j utilse $tab1["elt"] ça marche pas et aussi $tab1['elt']
Mais rien à m afficher  
Je pense que le problème existe au niveau de ça :$tab1=unserialize($tab);  
tel que qd je veux afficher $tab1 il ne me donne rien et aussi au niveau de  
 
foreach(unserialize($tab) as $key=>$val)
{
$toto = $key;
echo "\$toto : $toto<br/>";
}    
J'ai un prb => erreur
Invalid argument supplied for foreach()  
donc le prb que unserialize($tab)  ça marche pas chez moi??????????????

n°1867778
stealth35
Posté le 31-03-2009 à 09:52:55  profilanswer
 

t'as quel version de php ? ton code marche tres bien chez moi


Message édité par stealth35 le 31-03-2009 à 10:04:57
n°1867782
stealth35
Posté le 31-03-2009 à 09:59:10  profilanswer
 

ta chaine serialisée doit ressembler a ca

 

a:4:{i:0;s:1:"1";i:1;s:0:"";i:2;s:3:"elt";i:3;s:6:"valeur";}

 

ou a ca

 

a:2:{i:1;s:0:"";s:3:"elt";s:6:"valeur";}


Message édité par stealth35 le 31-03-2009 à 10:05:13
n°1867842
sonia5
Posté le 31-03-2009 à 12:31:41  profilanswer
 

Merci bcp pour votre rèponse
Je travaille avec PHP4
Mnt ça marche chez moi car le prb sera ça :
a:2:{i:1;s:0:"";s:3:"elt";s:6:"valeur";}  
Merci bcp bcp à vos aides

n°1867874
kao98
...
Posté le 31-03-2009 à 14:28:16  profilanswer
 

Mais oublie un peu ce que contient la variable après sérialisation ! Dans l'absolu, tu t'en tappes complètement, d'ailleurs, c'est susceptible de changer d'une implémentation de php à l'autre !
 

Code :
  1. $montab = array(1, 2, 3);
  2. $montabs = serialize($montab);
  3.  
  4. //puis, plus tard, pour retrouver le tableau d'origine
  5. $montab = unserialize($montabs);
  6.  
  7. //à partir de maintenant, montab est un tableau tout à fait normal, qui contient :
  8. //$montab[0] = 1;
  9. //$montab[1] = 2;
  10. //$montab[2] = 3;


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1867981
sonia5
Posté le 31-03-2009 à 19:43:28  profilanswer
 

D accord merci bcp


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Utilisation de la fonction unserialize

 

Sujets relatifs
Bcc fonction mail phpBesoin d'aide pour fonction OCAML
fonction avec pythonfonction en PHP4 vèrifiant la validitè d'un fichier XML selon DTD
Fonction C times en Ada.Minimiser une fonction avec Matlab
SQL Server Reporting Services - Utilisation d'une table matriceJouer une fonction régulièrement
fonction FindText ds RichEdit : syntaxe ? 
Plus de sujets relatifs à : Utilisation de la fonction unserialize


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR