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
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
ta essayer avec unset($GLOBALS[]);
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
ça oui
laisse la force agir ou tu passera du code obscur jeune
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 ! )
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 je faisais des conditions pour être sur mais j'ai commencé à prendre un peut d'expérience . 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 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 ?