Concatener deux noms variables

Résolu
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009 - 26 juil. 2005 à 13:24
 Julie - 15 avril 2021 à 01:07
Bonjour tout le monde,



J'ai besoin d'une petite aide.



Voila je désire concatener ma variable $tab avec $val de manière à
obtenir ceci : $tab1 ou $tab2 .... donc en fait rajouter la valeur de
$val à la fin du nom de la variable $tab.



j'ai essayé $tab.$val ''; et $tab."$val" ''; mais ca ne marche pas.



Comment dois je faire ?



Merci d'avance ;-)
A voir également:

24 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 13:39
Hello,



tu peux aller voir les variables variables :

http://de2.php.net/manual/fr/language.variables.variable.php



Maintenant, je ne sais pas exactement pourquoi tu veux faire ca, mais
souvent, les gens tentent ce genbre d'experiences parce qu'il n'ont pas
pense a faire la meme chose avec des tableaux...:

$tab[$var]
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 14:08
Ben oui je crois que tu l'as induis en erreur lol.



Quand tu fais $tab_menu = $tab_menu.$val;

tu fais un drole de truc...!

La concatenation, c'est contaner les VALEURS de 2 variables de type STRING.



La, tu concatenes la valeur d'un tableau (??) a la valeur d'une variable x. Ca risque pas de donner grandchose...



Bregf, quand tu fais ca :

$tab_menu = array($attributover,$attributout,$img,$aff_img_out,$aff_img_over);

$tab_menu = $tab_menu.$val;



Tu dis :

$tab_menu = un tableau bien defini, avec plusiurs entrees)



Puis la ligne d'apres

$tab_menu = une chaine resultante de la concatenation d'un tableau (impossible...), et d'une variable x (ok pour la variable x).



Au mieux tu auras :

$tab_menu = 'Array'.valeur de $var.

Au pire tu as deja une erreur, un warning, que tu ne vois pas parce que tu n'as pas l'error_reporting a E_ALL.



De rien pour la revision, mais je pense que tu n'avais jamais vraiment
appris cette lecon lol, et que tu ne l'as pas lu...Malik avait mal
compris ton probleme, c'est tout, et ne parlait pas de la meme chose
que toi : creation de variables variables. Il parlait juste de
concatenation entre deux chaines. Cet article parle justement de ces
variables...variables :-)
3
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
26 juil. 2005 à 14:20
En effet j'avais array1 array2....



Et oui Malalam j'avais pas lu la dernière ligne qui parler des tableaux (honte à moi :-/ je l'avais pas vu)



donc la soluce était :



${"tab_menu$val"} = $tab_menu;



Merci beaucoup tout le monde de m'avaoir aiguiller dans le droit chemin ;-)
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 14:24
Je t'en prie, mais a ta place j'utiliserais vraiment les tableaux
plutot que les variables variables comme tu le fais la. C'ets plus
simple a utiliser, bcp plus...et ca suffit dans la plupart des cas
comme le soulignait Morph. Les variables variables c'est vite le bordel.

Mais bon, oui ${"tab_menu$val"} = $tab_menu; est tres correct :-)



Malik => bah lol, moi je l'ai lu, relu, j'ai teste, et j'ai decide que ca ne me plaisait pas comme bordel, lol.
3

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

Posez votre question
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
26 juil. 2005 à 13:36
$tab .= $val ou $tab = $tab.$val, c'est pareil
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
26 juil. 2005 à 13:46
Je confirme la remarque de malalam combien de fois j ai eu ce probleme de mon nom de variable variable justement et les tableau marche dans beaucoup de cas.


<HR>
Loi du plagiat industriel de Felson : <CITE>Voler les idées d'une personne, c'est du plagiat. En voler à plusieurs, c'est de la recherche.</CITE>
0
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
Modifié le 15 avril 2021 à 10:11
Merci pour vos réponse rapide.



Alors Malik ta soluce semble fonctionner car je n'ai plus de messages d'erreur.



un nouveau problème vient de suivre hummm....



voici ma fonction :



if(isset($_GET['p']) AND !empty($_GET['p']) AND is_numeric($_GET['p'])) {

    if(is_integer($_GET['p']) AND ($_GET['p']<=8)) {

        $page = $_GET['p'];

    } else {

        $page = 1;

    }

} else {

    $page = 1;

}

function affiche_menu($page) {

    //$tab_page = array('accueil','letour','partenaires','presse','archives','liens','livredor','contact');

    $tab_page = array('1','2','3','4','5','6','7','8');

    reset($tab_page);

    while (list($key, $val) = each($tab_page)) {

        if($val == $page) { 

            $attributover = 'show';

            $attributout = 'show';

            $img = 'b';

            $aff_img_out = ''; 

            $aff_img_over = '';

        } else { 

            $attributover = 'show';

            $attributout = 'hide';

            $img = 'a';

            $aff_img_out =
"MM_swapImage('Image".$val."','','images/b".$val."b.gif',1);"; 

            $aff_img_over = 'MM_swapImgRestore();'; 

        }

        $tab_menu = array($attributover,$attributout,$img,$aff_img_out,$aff_img_over);

        $tab_menu = $tab_menu.$val;

    }

}



affiche_menu($page);



et je souhaite récupérer pour affichage les différentes valeurs



exemple :



MM_showHideLayers('accueil','','<?php echo
$tab_menu1[1]; ?>','tour03','','<?php echo $tab_menu2[1];
?>','partenaires','','<?php echo $tab_menu3[1];
?>','presse','','<?php echo $tab_menu4[1];
?>','archives','','<?php echo $tab_menu5[1];
?>','liens','','<?php echo $tab_menu6[1];
?>','livredor','','<?php echo $tab_menu7[1];
?>','contact','','<?php echo $tab_menu8[1]; ?>')">




Et la il me met que tous mes tableaux sont indéfinis (inexistant quoi).

Une idée ?

PS : merci Malalam pour le lien ca m'a fait une tite revision ;)
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
26 juil. 2005 à 13:55
Ben il a raison. Tu les definis ou tes tableaux? Je me demande si je t'ai pas induit en erreur moi avec ma reponse et si ton prob est pas ailleurs...
0
cseagle Messages postés 99 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 5 août 2009
Modifié le 15 avril 2021 à 10:12
Mes tableaux sont définis dans ma boucle :



$tab_menu = array($attributover,$attributout,$img,$aff_img_out,$aff_img_over);

$tab_menu = $tab_menu.$val;





Enfin je pense que c'est bon :/
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
26 juil. 2005 à 14:03
mouais... tu veux plutot dire $tab_menu.$val = $tab_menu !
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
26 juil. 2005 à 14:10
Ben je crois que je vais aussi aller lire cet article ... oops
0
morpheus262 Messages postés 461 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 16 février 2012
26 juil. 2005 à 14:33
Des variables variables lol une fois j ai sorti ca a un prof d info il a failli me tuer lol il m a dis si les noms de variable commence a etre variable ca va devenir le bordel et bien php la fait lol. euh jem avance peut etre mais dans d autre langage c pas possible ca il me semble si ??


<HR>
Loi du plagiat industriel de Felson : <CITE>Voler les idées d'une personne, c'est du plagiat. En voler à plusieurs, c'est de la recherche.</CITE>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 15:02
Chais pas...c'est possible, de maniere un peu differente, en C, en java...
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
27 juil. 2005 à 17:58
Aye est-ce que c'est possible la réflexion en C++ comme en PHP/Java ?

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
27 juil. 2005 à 18:09
En même temps... les variables crées dans une fonction ne sont pas utilisable en dehord de cette dernière.



Normal que tu n'ais rien qui se soit crée ;)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 juil. 2005 à 18:15
Meuh...?? lol ?? Quelle fonction ? Quelle creation ?
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
27 juil. 2005 à 18:22
Ne me répondez pas lol... :P

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
27 juil. 2005 à 18:24
Bah je te repondrais bien mais je n'en sais rien! Mais je presume oui, en tous cas le contraire m'etonnerait.
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
27 juil. 2005 à 18:35
Je trouve pas du tout, ou alors c'est des "plugin"...

, EssayezTestez avant de Poser une question !
http://www.lookstrike.com
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
27 juil. 2005 à 19:17
Malalam > Pour la fonction affiche_menu() de cseagle.
0
Rejoignez-nous