supprimer un element de tableau en variable de session - PHP - Programmation
Marsh Posté le 15-06-2005 à 12:32:50
La première chose à faire quand on développe dans un langage, c'est de regarder la doc, en l'occurence sur les arrays  Y'a  une jolie fonction http://fr.php.net/manual/en/function.unset.php
 Y'a  une jolie fonction http://fr.php.net/manual/en/function.unset.php 
  
  
 
Marsh Posté le 15-06-2005 à 12:34:39
bah je l'ai vu cette fonction ! mais elle supprime une variable.. mais pas element de tableau visiblement !  
 
 
EDIT : j'avais pas bien lu :  
// destroy a single element of an array 
unset($bar['quux']); 
Marsh Posté le 15-06-2005 à 12:40:08
prob : 
| Citation : Parse error: parse error, unexpected T_UNSET in /u/clonecop/public_html/php/admin/valid.php on line 28 | 
 
| Code : 
 | 
Marsh Posté le 15-06-2005 à 12:45:01
est-ce que c'est du au fait que unset retourne toujours "true" ?? (du coup le if serait inutile  )
 )
Marsh Posté le 15-06-2005 à 12:45:56
Il retourne true si il a réussi a la supprimer ou du moin qu'il n'y a pas d'erreur.
Marsh Posté le 15-06-2005 à 12:47:55
| Citation : unset() détruit les variables var. Notez qu'en PHP 3, unset() retournait toujours TRUE (en fait, la valeur entière 1). En PHP 4 toutefois, unset() n'est plus une véritable fonction : c'est une structure du langage, ce qui fait qu'elle ne retourne pas de valeur. Lire la valeur retournée par unset() (dans une variable, par exemple), retourne une erreur d'analyse.  | 
Marsh Posté le 15-06-2005 à 12:48:25
c naze !! comment on teste si la fonction à bien fonctionné ???
Marsh Posté le 15-06-2005 à 12:49:55
| Citation :  Si vous voulez détruire une variable globale, depuis une fonction, vous pouvez utiliser le tableau $globals :  | 
Marsh Posté le 15-06-2005 à 13:01:30
| freed102 a écrit : c naze !! comment on teste si la fonction à bien fonctionné ??? | 
 
t'as pas confiance en elle ou a ton code   
 
Marsh Posté le 15-06-2005 à 13:12:35
laisse la force agir ou tu passera tu cote obscur jeune![[:anakin skywalker] [:anakin skywalker]](https://forum-images.hardware.fr/images/perso/anakin skywalker.gif) 
 
 
ta essayer avec unset($GLOBALS[]); ![[:arnaud069] [:arnaud069]](https://forum-images.hardware.fr/images/perso/arnaud069.gif)
Marsh Posté le 15-06-2005 à 13:19:06
| shikra a écrit : laisse la force agir ou tu passera tu cote obscur jeune | 
 
  ts ts
 ts ts  
ça oui  
laisse la force agir ou tu passera du code obscur jeune![[:anakin skywalker] [:anakin skywalker]](https://forum-images.hardware.fr/images/perso/anakin skywalker.gif)
Marsh Posté le 15-06-2005 à 13:32:52
| Berceker United a écrit : t'as pas confiance en elle ou a ton code   | 
 
et bien j'aime bien avoir la preuve que tout marche bien  (autant pour mon code.. que pour les fonctions qu'on m'offre !
 (autant pour mon code.. que pour les fonctions qu'on m'offre !  )
 ) 
 
EDIT : cela dit j'ai détourné le probleme 
 
| Code : 
 | 
Marsh Posté le 15-06-2005 à 13:57:26
Je te comprend, avant j'étais comme toi jeune![[:anakin skywalker] [:anakin skywalker]](https://forum-images.hardware.fr/images/perso/anakin skywalker.gif) je faisais des conditions pour être sur mais j'ai commencé à prendre un peut d'expérience
 je faisais des conditions pour être sur mais j'ai commencé à prendre un peut d'expérience ![[:papy] [:papy]](https://forum-images.hardware.fr/images/perso/papy.gif) . Je me suis dit : (prenons ton cas) Dans quel cas la fonction unset ne va pas supprimer l'élément de mon tableau. Je reflechis longuement
. Je me suis dit : (prenons ton cas) Dans quel cas la fonction unset ne va pas supprimer l'élément de mon tableau. Je reflechis longuement![[:atlantis] [:atlantis]](https://forum-images.hardware.fr/images/perso/atlantis.gif) et je ne trouve pas. Je ne vois pas dans quel cas il ne pourra pas supprimer. Ha ! elle n'existe pas? c'est qu'il y a un problème plus haut mais c'est pas là que ça doit être réglé.
 et je ne trouve pas. Je ne vois pas dans quel cas il ne pourra pas supprimer. Ha ! elle n'existe pas? c'est qu'il y a un problème plus haut mais c'est pas là que ça doit être réglé. 
Dans ton cas c'est inutile, si tu as bien codé en avant tu en a pas besoin. T'encombre pas de chose inutile et apprend à faire confiance à php. 
Marsh Posté le 15-06-2005 à 14:26:29
oui parfois je teste pas non plus.. quand je suis sur de mon coup ! 
mais bon là c une fonction que je connais pas... donc je teste !
Marsh Posté le 15-06-2005 à 15:39:29
question sur les tableaux multidimensionnels... 
je ch à faire un "foreach" avec  
 
$_SESSION['item']['1']['libelle']... 
 
si je fais : 
 
foreach ($_SESSION['item'] as $key)... 
 
il me retourne une erreur car $key est dans ce cas un tableau... or moi je veux une clé ! comment je peux retrouver une clé dans un tableau comme ça ?
Marsh Posté le 15-06-2005 à 15:41:15
Pour ça, il faut lire la doc de foreach, tu y découvrira ça : 
| foreach($_SESSION['item'] as $key => $value) | 
 
Marsh Posté le 15-06-2005 à 15:44:48
bah je connais foreach.. je l'utilise souvent...  
mais là je m'emmelais les crayons dans les tableaux 
Marsh Posté le 15-06-2005 à 12:29:17
voila j'ai des valeurs en tableaux enregistrées en session sous la forme :
... si je veux supprimer $_SESSION[item][2]... comment je fais ?
j'ai testé une fonction à base de array_splice... il me renvoie "true" mais il n'a rien effacé...
quant à session_unset c pas bon je pense...
QUE FAIRE ?