Variabele plakken aan variabele voor nieuwe variabele
Wat ik bedoel is het volgende:
Ik voer een stuk script uit waarbij alles telkens hetzelfde is (controles meldingen etc) maar waarbij telkens een andere postwaarde gecontroleerd wordt.
Ik geef bijvoorbeeld op: $post_value = 'name';
Nu doorloop ik verder het riedeltje waarbij gecontroleerd wordt op "$_POST[$post_value]" dit staat dus gelijk aan "$_POST['name']" Scheelt een hoop werk.
Maar nu maak ik tijdens deze controle een message. Deze moet natuurlijk wel alleen voor die specifieke post waarde zijn.
Ik wil dus aangemaakt hebben: "$msg_name" maar dit wil ik niet hard coded hebben maar aanmaken zoals ongeveer bij de post, dus: "$msg_$post_value".
En dat werkt dus niet.
Weet iemand hoe ik de waarde uit "$post_value" kan plakken aan "$msg_" zodat ik dus "$msg_name" krijg?
${name} = wat je wilt plakken . nog iets plakken
Waarom niet een standaard-message/variabele aanmaken, en die (aan)vullen bij eventuele (fout)meldingen?
Je kunt anders toch gewoon een simpele if en if else statement maken?
Dat als het $_POST['name'] is hij $post_name_message print
of als het $_POST['number'] is hij $post_number_message print
of als het $_POST['adress'] is hij $post_adress_message print
enzovoorts.
Werkt niet.
@Obelix:
Omdat het kan zijn dat er misschien 5 meldingen moeten komen, allen op een eigen locatie. 1 standaard message variabele werkt dan niet.
@Chris:
Dan moet ik dus alsnog voor elke post waarde hard-coded een variabele aanmaken. Dit wil ik juist omzeilen.
Heb je een speciale reden om dit te 'omzeilen'? Als het hier nu om lappen tekst gaat snap ik dat maar dat is niet het geval.
Zet ze desnoods in een config file en include die in het script, mocht je het dan op meerdere plaatsen nodig hebben kun je er snel en makkelijk bij. En hoef je ze maar op een plaats aan te passen als er wijzigingen zijn.
Heb het echt nodig, nogmaals wil het niet hard-coded maken.
Maar heb nu de oplossing, doe er je ding mee ;)
$post_value = 'naam'; # Waarde welke ik aan de variabele wil plakken
$variabele = 'msg_'.$post_value; # Aangeven hoe de variabele eruit moet zien
$$variabele = 'sander'; # Variabele nu daadwerkelijk aanmaken
echo $msg_naam;
Gewijzigd op 03/05/2012 09:31:47 door Sander Z