Page 1 sur 1

passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 14:02
par devcphp
Bonjour,
je suis sur que tout ceci sera tres facile pour l'un d'entre vous .J'aimerais automatisé une certaine quantité de ligne qui sont toutes identiques tel que
                            $sDate=wb_get_text($iEditBoxDate);
             $sMaj=wb_get_text($iEditBoxMaj);
             $iDate=wb_get_text($iEditBoxDate);

il y a a chaque foisdeux variables par lignes.j'ai environ une 100 de lignes comme celles ci.Je voulais donc passé par un tableau qui contiendrait mes deux variables à chaque fois tel que :

    $aMyArrayToRecupe=array('$sDate'=>'$iEditBoxDate',
                   '$sMaj'=>'$iEditBoxMaj',
                   '$iDate'=>'$iEditBoxDate'
                   );
                               
             foreach ($aMyArrayToRecupe as $sKey=>$sValue){
                $sKey=wb_get_text($sValue);
             }
             unset($aMyArrayToRecupe);

Mais je pense que le probleme c'est qu'il recupere la valeur de la variable et non juste le nom de la variable comme je le souhaiterais.

Comment dois je procédé, mes recherches sur les foreach et tableau se resument uniquement à des cas simples.

Merci d'avance.

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 14:13
par stopher
Salut ,

essayes ça :
$aMyArrayToRecupe=array(
    'sDate'=>$iEditBoxDate,
    'sMaj'=>$iEditBoxMaj,
    'iDate'=>$iEditBoxDate
);

foreach ($aMyArrayToRecupe as $sKey=>$sValue){
    $$sKey= wb_get_text($sValue);
}


unset($aMyArrayToRecupe);
Good luck ,

Ch.

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 14:32
par devcphp
Merci de ta reponse, le code final exact est le suivant ( en effet, je voulais recuper les noms pour les clefs mais aussi pour leurs valeurs ):

Code : Tout sélectionner

$aMyArrayToRecupe=array( 'sDate'=>$iEditBoxDate, 'sMaj'=>$iEditBoxMaj, 'iDate'=>$iEditBoxDate ); foreach ($aMyArrayToRecupe as $sKey=>$sValue){ $$sKey= wb_get_text($sValue); }
Imaginons maintenant que je veuille passer un troisieme parametre il faut donc que je crée un tableau A deux dimensions ?
comment procederiez vous?

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 14:56
par stopher
Comme ceci :
$aMyArrayToRecupe=array(
    'sDate'=>array($iEditBoxDate,$param2),
    'sMaj'=>array($iEditBoxMaj,$param2),
    'iDate'=>array($iEditBoxDate,$param2)
);

foreach ($aMyArrayToRecupe as $sKey=>$sValue){
    $$sKey= wb_get_text($sValue[0],$sValue[1]);
}

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 15:10
par devcphp
desolé je testait justement quelque chose .

en fait j'aimerais tout simplement que la clef soit le nom de ma fonction que j'appelle dans ma boucle foreach.en effet , je vais avoir le meme type de traitement à effectuer dans lequel seul le nom de la fonction changera

je voudrais faire ca en fait :

Code : Tout sélectionner

$aMyArrayToRecupe=array( 'sDate'=>array(wb_get_text,'iEditBoxDate'), 'sMaj'=>array(wb_get_text,'iEditBoxMaj'), 'iDate'=>array(wb_get_text,'iEditBoxDate') ); foreach ($aMyArrayToRecupe as $sKey=>$sValue){ $$sKey= $sValue[0]($sValue[1]); }
est ce faisable car wb_get_text est une methode!!

en effet ainsi j'aurais juste à changer wb_get_text par le nom d'une autre methode ou fonction que j'aurais definie.

Merci d'avance

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 15:19
par stopher
Oui , ca doit fonctionner ....

Il te suffit de tester pour en avoir le cœur net quand c'est comme ça :)

Re: passer le nom d'une variable dans un tableau

Posté : 30 sept. 2009, 15:44
par devcphp
Merci pour ta reponse mais c'était une erreur de ma part de vouloir passer par un tableau à deux dimensions quand il est si simple de faire tout simplement
$aMyArrayToRecupe=array(
    'sDate'=>wb_get_text($iEditBoxDate),
    'sMaj'=>wb_get_text($iEditBoxMaj),
    'iDate'=>wb_get_text($iEditBoxDate)
);

foreach ($aMyArrayToRecupe as $sKey=>$sValue){
    $$sKey= $sValue;
}
tout aussi simple que cela. Sujet resolue