Récupérer le nom de la variable.

Résolu
cs_danon Messages postés 3 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 20 janvier 2006 - 20 janv. 2006 à 01:10
cs_danon Messages postés 3 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 20 janvier 2006 - 20 janv. 2006 à 15:38
j'aimerais faire un code templaté.

Pour cela, je récupère d'un formulaire des valeurs dont la clé correspont au nom d'une variable.

Existe-t-il une fonction qui pourrait me permettre d'associer la variable (déjà existante) à son nom (affectation/récupération) ?

ex:
set_value(toto, 5) qui correspondrait à : $toto = 5;
get_value(toto) qui correspondrait à : return $toto;

Merci

5 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 janv. 2006 à 09:51
J'ai oublié une partie, désolé :

<?php
function setValue ($var, $val) {
global $$var;
$$var = $val;
}


function getValue ($var) {
global $$var;
if (isset ($$var)) {
return $$var;
} else {
return false;
}
}


setValue ('toto', 5);
echo $toto, '
';


echo getValue ('toto');
?>
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 janv. 2006 à 14:42
BNah non, si c'est que pour ça, utilise extract (), ça sert à ça.

Par exemple :
si tu as :
$_GET['toto'] = 5 et $_GET['titi'] = 2
et que tu fais : extract ($_GET, EXTR_SKIP);
tu obtiendras :$toto 5 et $titi 2
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 janv. 2006 à 09:48
Hello,

je ne pige pas tout...
tu veux dire, à partir de ton formulaire ? passer de $_POST['toto'] = 5, à $toto = 5 ?
Tu as bien extract (), avec le paramètre EXTR_SKIP.
Sinon, j'avoue que je pige mal ce que tu veux.
Pourquoi ne pas les écrire, ces 2 fonctions ?

Un truc dangereux du genre :
<?php
function setValue ($var, $val) {
global $$var;
$$var = $val;
}


setValue ('toto', 5);
echo $toto;
?>
0
cs_danon Messages postés 3 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 20 janvier 2006
20 janv. 2006 à 14:23
Oui, je veux faire une fonction qui pour toutes les valeurs retournées par le formulaire affecte ladite valeur à la fonction.

un truc du genre de ce que tu as ecris :
foreach ($_GET as $key, $data)
setvalue($key, $data);

Merci pour ta réponse. Je vais voir qi j'arrive à faire quelque chose qui correspond à mon besoin.

Danon'.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_danon Messages postés 3 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 20 janvier 2006
20 janv. 2006 à 15:38
Voila, c'est cette fonction que je cherchais, avec dans mon cas : EXTR_IF_EXIST.

J'avais du mal à exprimer mon besoin donc nexen n'est pas arrivé à me la sortir.

Par contre pour mon "getvalue", je ne crois pas qu'il y ait d'autre solution que celle que tu as proposée. (Extration du nom depuis la table des symbole).

Merci,
0
Rejoignez-nous