Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] Variabele in een string behouden

Pagina: 1
Acties:

  • FlippieAI
  • Registratie: April 2007
  • Laatst online: 23-11 18:19
Hallo!

Ik zit al een tijdje te zoeken naar een oplossing voor het volgende probleem in PHPen ik begin me af te vragen of het uberhaubt mogelijk is? Ik wil een variabele in een andere variabele die een string bevat gebruiken, maar zodra ik die eerste variable aanpas dat dit ook wijzigt in de string?
Dit is in de basis wat ik zoek:
PHP:
1
2
3
4
5
$var = 'foo';
$string = 'Hallo '.$var;
echo $string; //Geeft natuurlijk Hallo foo.
$var = 'bar';
echo $string; //Geeft weer Hallo foo.


Wat ik dus zou willen is dat bij de tweede echo Hallo bar zou komen te staan, zonder dat ik opnieuw de variabele $string hoef te vullen. Is dit mogelijk? Ik ben al van alles van dynamic variables tegengekomen maar ook daarmee kom ik er nog niet uit.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Euh, de meest voor de hand liggende oplossing lijkt mij gewoon een functie :? Waarom zou je dit willen? Laat je daadwerkelijke probleem eens zien i.p.v. zo'n verzonnen testcase die niet met de realiteit overeenkomt?

[ Voor 53% gewijzigd door RobIII op 10-01-2013 21:02 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Saven
  • Registratie: December 2006
  • Laatst online: 23-11 20:24

Saven

Administrator


  • FlippieAI
  • Registratie: April 2007
  • Laatst online: 23-11 18:19
Nouja het gaat erom dat ik juist die string kan gebruiken in een andere functie voor mijn database class.

Eerst wordt de query gemaakt en opgeslagen in de class. Vervolgens wil ik de parameters binden.
Dit is de functie waar het om gaat binnen mijn class:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public function setValues($array, $types)
    {
        foreach($this->vars AS $index => $value)
        {
            if($index == 1)
            {
                $string = $this->vars[$index];
            }
            else
            {
                $string .= ', '.$this->vars[$index];
            }
        }
        $this->stmt->bind_param($types, $string);
    }


Het gaat er dus om dat ik die string kan gebruiken binnen de bind_param() functie. Afhankelijk van het aantal waarden die worden meegegeven moet $string worden gevuld. In een andere functie vul ik dan de array $vars met de betreffende waardes.
Hierna kan ik dan de query uitvoeren, eventueel nieuwe waardes invullen en weer uitvoeren zonder opnieuw bind_param te hoeven doen. (In principe zoals mysqli het bedoeld volgens mij?)

Als ik het dus op deze manier doe kan ik wel later de array vullen, maar heeft dit natuurlijk geen invloed op de waarde $string die gebruikt is aangezien die al vast staat.

edit: @saven: Dankje! Daar ga ik eens naar kijken.

  • Low-Tech
  • Registratie: December 2001
  • Laatst online: 09:35
Even buiten je bind_param verhaal om:
Zo'n foreach kan je beter doen met een implode:
PHP:
1
2
3
4
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

http://php.net/manual/en/function.implode.php

Verder wil bind_param gewoon losse variabelen en niet een comma-separated string.
http://php.net/manual/en/mysqli-stmt.bind-param.php

Fractal Design Meshify S2, Asus ROG B550-F, AMD 3700x, 3080?, Corsair H115i Pro, G-Skill 3600-16 32GB Trident Z Neo


  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 09-11 18:41

Kajel

Development in Style

Doe dat nou maar niet, want pass-by-reference is per PHP5.3 deprecated en levert in PHP5.4 fatal errors op.

Verder probeer je nu volgens mij heel omslachtige en onveilige dingen te doen, waar gewoon standaard functionaliteit voor aanwezig is in PDO.

  • Tarilo
  • Registratie: December 2007
  • Laatst online: 15:49
Kajel schreef op vrijdag 11 januari 2013 @ 09:06:
[...]

Doe dat nou maar niet, want pass-by-reference is per PHP5.3 deprecated en levert in PHP5.4 fatal errors op.

Verder probeer je nu volgens mij heel omslachtige en onveilige dingen te doen, waar gewoon standaard functionaliteit voor aanwezig is in PDO.
Met hierboven, het hele idee van prepared statements is dat je elke keer de parameters bind voordat je de/het statement uitvoert. Ik zou niet weten waarom je dit automagisch wil laten doen.

Daarnaast zou zo'n automagische functie alleen maar problemen met zich meebrengen. Als er ergens een bug optreed doordat een waarde ingevuld wordt zonder dat je het doorhebt ben je de sjaak.

  • Cartman!
  • Registratie: April 2000
  • Niet online
Zonder gezien te hebben wat er verder in je class staat lijkt het erop alsof je nu alsnog zelf je query opbouwt wat niet de bedoeling is en je weer vatbaar bent voor SQL injection. Misschien kun je iets meer toelichten wat je probeert met (pseudo)code? Volgens mij ben je een gedrocht van een ding aan het maken waarbij je de kracht van de gebruikte functies compleet onderuit haalt.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Kajel schreef op vrijdag 11 januari 2013 @ 09:06:
[...]

Doe dat nou maar niet, want pass-by-reference is per PHP5.3 deprecated en levert in PHP5.4 fatal errors op.
Onzin, pass-by-ref is gewoon een hele zinnige feature en wordt echt niet deprecated, laat staan weggehaald.

Waar ze het over hebben is call-time pass-by-ref, dus dat de caller aangeeft dat ie een reference wilt passen ipv dat de callee dat doet.
PHP:
1
2
3
4
5
6
7
8
9
function foo($a) { $a = 2; }
function bar(&$a) { $a = 2; } // prima in 5.4

$a = 34;
foo($a); // $a blijft 34
foo(&$a); // $a wordt 2, fatal error in 5.4

bar($a); // $a wordt 2
bar(&$a); // $a wordt 2, fatal error in 5.4

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 09-11 18:41

Kajel

Development in Style

.oisyn schreef op vrijdag 11 januari 2013 @ 13:13:
[...]

Onzin, pass-by-ref is gewoon een hele zinnige feature en wordt echt niet deprecated, laat staan weggehaald.

Waar ze het over hebben is call-time pass-by-ref, dus dat de caller aangeeft dat ie een reference wilt passen ipv dat de callee dat doet.
PHP:
1
2
3
4
5
6
7
8
9
function foo($a) { $a = 2; }
function bar(&$a) { $a = 2; } // prima in 5.4

$a = 34;
foo($a); // $a blijft 34
foo(&$a); // $a wordt 2, fatal error in 5.4

bar($a); // $a wordt 2
bar(&$a); // $a wordt 2, fatal error in 5.4
Onwijze ongelooflijke betweter! Dat bedoel ik toch. Als je de link opent naar de betreffende pagina op de PHP website, dan weet je dat. :X

edit: PHP.net noemt het zelf anders ook gewoon pass by reference in eerste instantie. En een paar regels lager staat dat het deprecated is en daar noemen ze het idd call-time pass by reference:
You can pass a variable by reference to a function so the function can modify the variable. The syntax is as follows
[...]
As of PHP 5.3.0, you will get a warning saying that "call-time pass-by-reference" is deprecated when you use & in foo(&$a);. And as of PHP 5.4.0, call-time pass-by-reference was removed, so using it will raise a fatal error.
Ik vind het gewoon vervelend dat ik op een soort pedante onderwijzer manier tot de orde geroepen wordt, terwijl ik iets zeg wat volkomen valide is. En als ik eerlijk ben, lees ik vaker dat soort posts van je .oisyn. Get off your high horse.

[ Voor 34% gewijzigd door Kajel op 11-01-2013 18:49 ]


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 23-11 20:56

Ventieldopje

I'm not your pal, mate!

Nou nou Kajel, je zegt toch echt zelf dit:
Doe dat nou maar niet, want pass-by-reference is per PHP5.3 deprecated en levert in PHP5.4 fatal errors op.
Wat ook naar mij impliceert dat pass-by-reference (dus niet alleen call-time) deprecated is, wat gewoon niet klopt ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Verwijderd

Kajel schreef op vrijdag 11 januari 2013 @ 18:46:

Onwijze ongelooflijke betweter! Dat bedoel ik toch. Als je de link opent naar de betreffende pagina op de PHP website, dan weet je dat. :X
Maar je raadde af om naar die pagina te gaan. Vind je het gek dat er dan een reactie op komt?
Ik vind het gewoon vervelend dat ik op een soort pedante onderwijzer manier tot de orde geroepen wordt, terwijl ik iets zeg wat volkomen valide is. En als ik eerlijk ben, lees ik vaker dat soort posts van je .oisyn. Get off your high horse.
Nee, je zegt dat mensen niet de manual page moeten lezen, en dat pass-by-reference deprecated is.
Het is echter genuanceerder, en dat staat uitgelegd op de pagina waarvan je zegt dat de TS er niet naar moet kijken.

Snap je nu het probleem?

  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 09-11 18:41

Kajel

Development in Style

Dat zal ik vast impliceren, maar dat zeg ik niet. Ik zeg dat je die functionaliteit (call-time pass-by-reference) gewoon niet moet gebruiken. Van mij mag - nee liever moet - iedereen vooral de handleiding lezen. Snappen jullie nou het probleem? (weer zo'n pedante opmerking trouwens)
Ventieldopje schreef op vrijdag 11 januari 2013 @ 18:57:

Wat ook naar mij impliceert dat pass-by-reference (dus niet alleen call-time) deprecated is, wat gewoon niet klopt ;)
Precies!

edit: ik heb volgens mij wel gewoon gelijk. Als je de variabele als volgt doorgeeft: &$var (dus met ampersand), dan is dat per definitie pass-by-reference. Alle andere vormen - dus gewoon $var - is pass by value, ook als het object referenties betreft. Ditzelfde misverstand bestaat ook bij Java, waar er uberhaupt geen pass by reference bestaat, enkel pass by value.

Zie ook hier
Met ampersand wordt het pass by ref genoemd en anders gewoon pass by value. En die hele variable passing met een ampserand is deprecated.

[ Voor 59% gewijzigd door Kajel op 11-01-2013 19:07 ]


  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Nee, je zei dat pass-by-reference deprecated is :) Dat leek me uitermate vreemd, vandaar dat ik het topic even verder las en dat bleek dus ook idd niet zo te zijn. Je zei niets over call-time pbr. Al is de man page ook niet optimaal duidelijk overigens.

Voor verhaal boven, uit dezelfde man page :)
There is no reference sign on a function call - only on function definitions. Function definitions alone are enough to correctly pass the argument by reference.
Zoals ook in C++ etc.

Ik zit me te verbazen over de functie call-time pass-by-reference en er info over te zoeken... het zou toch niet dat PHP zo iets vreemds en foutgevoeligs bevat? O-) Je functie zegt expliciet een value te willen, en dan geef je hem toch een reference? En... die functie is dan vrij om te doen wat het wil met die waarde, evenals hem op "42" zetten, want het is vanuit het oogpunt van die functie toch een functie-scoped temporary. En... de caller heeft dan nog bepaalde verwachtingen? Lijkt me een prima candidaat voor removal idd. Oh, tenzij je natuurlijk een flag in je .ini aanzet, of je server config, dan mag het weer wel. PHP :')

Het beste advies dat ik de TS zou kunnen geven is: leer C# oid.

[ Voor 93% gewijzigd door Zoijar op 11-01-2013 19:28 ]


Verwijderd

Kajel schreef op vrijdag 11 januari 2013 @ 19:02:
Dat zal ik vast impliceren, maar dat zeg ik niet. Ik zeg dat je die functionaliteit (call-time pass-by-reference) gewoon niet moet gebruiken.
Nee, je zegt dat mensen die pagina niet moeten lezen en impliceert dat men de functionaliteit (pass-by-reference) helemaal niet moet gebruiken. Je zegt niets expliciet over call-time pass-by-reference. Iemand kan prima het volgende gebruiken:
PHP:
1
2
3
4
5
6
<?php
function foo(&$var)
{
    $var++;
}
?>

Dit is niet deprecated in 5.3 of 5.4 en levert dus geen enkele foutmelding op. Sterker nog, het is uitstekend om die functionaliteit her en der te gebruiken.
Van mij mag - nee liever moet - iedereen vooral de handleiding lezen.
Maar je zegt van niet.
Snappen jullie nou het probleem? (weer zo'n pedante opmerking trouwens)
Nee, dat krijg je er nou van als je niet opschrijft wat je bedoelt. Misschien weet je in je hoofd prima hoe het zit, maar je schrijft in dat geval iets anders.
Precies!
Ok, Ventieldopje zegt dat wat jij zei niet klopt, en jij zegt: "Precies!"
Dus je begrijpt dat wat je zei iets anders was dan de werkelijkheid?
edit: ik heb volgens mij wel gewoon gelijk. Als je de variabele als volgt doorgeeft: &$var (dus met ampersand), dan is dat per definitie pass-by-reference.
call-time pass-by-reference!
Alle andere vormen - dus gewoon $var - is pass by value, ook als het object referenties betreft. Ditzelfde misverstand bestaat ook bij Java, waar er uberhaupt geen pass by reference bestaat, enkel pass by value.
Maar de code eerder in deze post, met function foo(&$var) is gewoon pass-by-reference, en dus niet call-time pass-by-reference.
Zie ook hier
Met ampersand wordt het pass by ref genoemd en anders gewoon pass by value. En die hele variable passing met een ampserand is deprecated.
Ja, dus wat je zei over het niet moeten lezen van die manual page en/of het niet moeten gebruiken van pass-by-reference was onzin. Mee eens?

  • Kajel
  • Registratie: Oktober 2004
  • Laatst online: 09-11 18:41

Kajel

Development in Style

Verwijderd schreef op vrijdag 11 januari 2013 @ 19:27:
[...]

Ok, Ventieldopje zegt dat wat jij zei niet klopt, en jij zegt: "Precies!"
Dus je begrijpt dat wat je zei iets anders was dan de werkelijkheid?
Ik reageerde op Ventieldopje's opmerking dat wat hem betreft de man-page idd impliceert dat pass by reference deprecated is. En dat klopt niet. Mijn "Precies" is dus een reactie in de zin van "Ja, raar he, dat die implicatie wordt gewekt".

Maar goed. Het is sowieso - of het nou in calls of definitions wordt gebruikt, deprecated is of niet - een onnodige taalcontructie. Java kan ook prima zonder.

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

offtopic:
laat eigenlijk maar

[ Voor 126% gewijzigd door Zoijar op 11-01-2013 20:47 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Kajel schreef op vrijdag 11 januari 2013 @ 18:46:
[...]

Onwijze ongelooflijke betweter! Dat bedoel ik toch.
Hoe moet ik weten dat jij B bedoelt als je A zegt?
Als je de link opent naar de betreffende pagina op de PHP website, dan weet je dat. :X
En waar denk je dat ik überhaupt vandaan heb gehaald dat call-time pass-by-reference (PBR) deprecated is? Dat wist ik namelijk niet voor ik op de link had geklikt.
edit: PHP.net noemt het zelf anders ook gewoon pass by reference in eerste instantie. En een paar regels lager staat dat het deprecated is en daar noemen ze het idd call-time pass by reference:
Dan snap je gewoon niet wat er staat. Wat ook blijkt uit je volgende post:
edit: ik heb volgens mij wel gewoon gelijk. Als je de variabele als volgt doorgeeft: &$var (dus met ampersand), dan is dat per definitie pass-by-reference. Alle andere vormen - dus gewoon $var - is pass by value, ook als het object referenties betreft. Ditzelfde misverstand bestaat ook bij Java, waar er uberhaupt geen pass by reference bestaat, enkel pass by value.

Zie ook hier
Met ampersand wordt het pass by ref genoemd en anders gewoon pass by value. En die hele variable passing met een ampserand is deprecated.
Dus als ik even de pedante onderwijzer uit mag uithangen:

Pass by reference is het concept waarbij een referentie naar een variabele wordt meegegeven aan een functie. Een aanpassing die de functie maakt is dan zichtbaar buiten de functie. Dit staat nog even geheel los van hoe je dat specifiek bewerkstelligt in PHP.

In PHP zijn (waren) er 2 manieren waarop je duidelijk kon maken dat je PBR wilde toepassen.
• Door een & te plaatsen voor de parameter bij de functiedefinitie. Laten we dat voor het gemak maar even definition-time PBR noemen.
PHP:
1
2
3
4
5
6
7
8
function foo(&$a)  // & staat dus bij de functie-definitie
{
    $a = 42;
}

$b = 1;
foo($b);
echo $b; // "42"


• Door een & te plaatsen voor het argument bij de aanroep van de functie, wat PHP call-time PBR noemt.
PHP:
1
2
3
4
5
6
7
8
function foo($a)  // geen & hier, lijkt gewoon een pass-by-value functie
{
    $a = 42;
}

$b = 1;
foo(&$b); // hier nu wel een &, dus stiekem toch pass-by-reference, ookal weet 'foo' daar eigenlijk niets van.
echo $b;  // "42"

In de PHP docs staat:
You can pass a variable by reference to a function so the function can modify the variable. The syntax is as follows:
En vervolgens volgt er een voorbeeld met louter definition-time PBR. Dat voorbeeld is dus prima en kun je gewoon blijven gebruiken.
Daarna volgt er een note:
There is no reference sign on a function call - only on function definitions
Oftewel, de & moet je alleen gebruiken bij function definitions, en niet bij function calls. Waarom? Nou:
As of PHP 5.3.0, you will get a warning saying that "call-time pass-by-reference" is deprecated when you use & in foo(&$a);. And as of PHP 5.4.0, call-time pass-by-reference was removed, so using it will raise a fatal error.
Ze hebben het daar over de aanroep, niet over de definitie van foo. Ik ben het met je eens dat het duidelijker gespecificeerd kon worden, maar strict gezien klopt de documentatie wel en jouw opmerking duidelijk niet. Wat op zich niet erg is, iedereen maakt weleens fouten of interpreteert iets verkeerd. Dat doe ik ook weleens, en daar mag men mij gewoon op wijzen. Echter:
Ik vind het gewoon vervelend dat ik op een soort pedante onderwijzer manier tot de orde geroepen wordt, terwijl ik iets zeg wat volkomen valide is.
Sorry, maar hoe je het ook went of keert, je raadt gewoon af om PBR te gebruiken, en dat is, zoals ik al zei, onzin. Misschien is dat niet wat je bedoelde, maar je kan van mij niet verwachten dat ik over het telepatische vermogen beschik om jouw achterliggende gedachtengang op te vangen.
En als ik eerlijk ben, lees ik vaker dat soort posts van je .oisyn.
Klopt. Als ik zie dat iemand onzin verkondigt dan verbeter ik dat (en ik verwacht dat anderen dat ook bij mij doen). Als iemand die niet bekend is met PHP jouw post leest kan hij, geheel ten onrechte, gaan denken dat hij helemaal nooit PBR moet gebruiken. Ik wil de lezer daarvoor behoeden en dus verbeter ik je. Het zal me echt aan mijn kont roesten wat jij daarvan denkt, want waar het mij primair om gaat is dat anderen correcte informatie meekrijgen. Als je je daarbij op je tere zieltje getrapt voelt (zonder dat ik ook maar enigszins een persoonlijke aanval in mijn post verwerk) dan ligt dat gewoon aan jezelf. Want mag ik je er ondertussen even op wijzen dat het vooral jijzelf is die hier nogal onbeschoft op de man aan het spelen is? Want wat was er nou werkelijk zo vervelend aan mijn oorspronkelijke reactie? Dat ik het woord "onzin" gebruikte voor iets dat feitelijk gewoon onzin ís?
Kajel schreef op vrijdag 11 januari 2013 @ 19:38:
[...]

Maar goed. Het is sowieso - of het nou in calls of definitions wordt gebruikt, deprecated is of niet - een onnodige taalcontructie. Java kan ook prima zonder.
C kan prima zonder classes - onnodige taalconstructie!

Dat een taal zonder kán wil nog niet zeggen dat het geen verdomd handige feature is :). Voorheen (voor versie 7) waren er ook geen closures in Java (of LINQ in .Net, of variadic templates in C++, of...). Als je jouw redenatie volgt was er ook geen enkele reden om die toe te voegen voor versie 7. Java kon zonder dus het is immers een onnodige taalconstructie. Het feit dat vrijwel elke volwassen taal ze inmiddels wel heeft spreekt overigens boekdelen. Het feit dat vrijwel elke andere taal pass-by-reference ondersteunt overigens ook, blijkbaar is het toch wel een handige feature.

[ Voor 33% gewijzigd door .oisyn op 14-01-2013 01:45 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:58

.oisyn

Moderator Devschuur®

Demotivational Speaker

Maar even geheel los van deze zinloze discussie, heeft de topicstarter z'n probleem nou opgelost? :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Down
  • Registratie: Februari 2005
  • Laatst online: 23-11 13:28
Kajel schreef op vrijdag 11 januari 2013 @ 19:38:
[...]
Java kan ook prima zonder.
Tuurlijk, net als delegates zeker :z

Mother north, how can they sleep while their beds are burning?


  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 12:56
FlippieAI schreef op donderdag 10 januari 2013 @ 20:59:
Hallo!

Ik zit al een tijdje te zoeken naar een oplossing voor het volgende probleem in PHPen ik begin me af te vragen of het uberhaubt mogelijk is? Ik wil een variabele in een andere variabele die een string bevat gebruiken, maar zodra ik die eerste variable aanpas dat dit ook wijzigt in de string?
Dit is in de basis wat ik zoek:
PHP:
1
2
3
4
5
$var = 'foo';
$string = 'Hallo '.$var;
echo $string; //Geeft natuurlijk Hallo foo.
$var = 'bar';
echo $string; //Geeft weer Hallo foo.


Wat ik dus zou willen is dat bij de tweede echo Hallo bar zou komen te staan, zonder dat ik opnieuw de variabele $string hoef te vullen. Is dit mogelijk? Ik ben al van alles van dynamic variables tegengekomen maar ook daarmee kom ik er nog niet uit.
Bij het aanroepen van $string de 2e keer "weet" ie niet dat verder naar onder $var een nieuwe waarde hebben. Al probeer je $var 10x te veranderen, hij blijft Hallo foo echo' n

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 15:37
ShitHappens schreef op maandag 14 januari 2013 @ 19:00:
[...]

Bij het aanroepen van $string de 2e keer "weet" ie niet dat verder naar onder $var een nieuwe waarde hebben. Al probeer je $var 10x te veranderen, hij blijft Hallo foo echo' n
Dat was dus ook zijn probleem ;)

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
FlippieAI schreef op donderdag 10 januari 2013 @ 20:59:
Wat ik dus zou willen is dat bij de tweede echo Hallo bar zou komen te staan, zonder dat ik opnieuw de variabele $string hoef te vullen. Is dit mogelijk? Ik ben al van alles van dynamic variables tegengekomen maar ook daarmee kom ik er nog niet uit.
PHP:
1
2
3
4
5
$var = 'foo';
$string = 'Hallo %s';
echo sprintf($string, $var); //Geeft natuurlijk Hallo foo.
$var = 'bar';
echo sprintf($string, $var); //Geeft natuurlijk Hallo bar.

Maak je niet druk, dat doet de compressor maar

Pagina: 1