PHP - změna hodnoty proměnné

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod netrunner 19. 4. 2005 12:01

Mám takový hloupý dotaz. Lepší než dlouhé popisování bude rovnou příklad.
Kód: Vybrat vše
<?php
$text = "Hodnota proměnné a je: ".$a;
$a = 15;
echo $text;
?>
[/

Toto samozřejmě zahlásí "Hodnota proměnné a je: ". Jenže já bych potřeboval, aby se mi toto hlášení měnilo podle aktuální hodnoty proměnné. Lze toho nějak docílit?
Díky moc.
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod Howard 19. 4. 2005 12:13

Takhle ne.
Leda takto:
Kód: Vybrat vše
$prikaz = "echo \"Hodnota promenne a je: \" . \$a";
eval($prikaz);


ale je to divny. Lepsi je, udelat funkci, ktera to vypise.
Have you tried to turn it off and on again?
Windows je ... nikoliv Windows jsou (Windows is ...)
Howard
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod netrunner 19. 4. 2005 12:27

Jak bys takovou funkci napsal? Setkávám se s tímhle problémem poprvý, takže fakt netuším kudy na to :(
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod cache 19. 4. 2005 12:28

A co takto?
Kód: Vybrat vše
<?php
$text = "Hodnota proměnné a je: ";
$a = 15;
echo $text.$a;
?>[/
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod cicobasket 19. 4. 2005 12:31

<?php
$text = "Hodnota proměnné a je: ";
$a = 15;
$text = "Hodnota proměnné a je: ".$a;
echo $text;
?>
Jseš si opravdu jistý, že bys tuto informaci nenašel v google.com ?
No (f)lame wars, pls.
Špatná stránka Internetové komunikace je ta, že si někteří lidé pod rouškou skryté identity myslí, že se mohou chovat jako doma ve chlívku....
cicobasket
Junior

Odeslat příspěvekod cache 19. 4. 2005 12:31

netrunner píše:Jak bys takovou funkci napsal? Setkávám se s tímhle problémem poprvý, takže fakt netuším kudy na to :( /quote]


funkcia:

Kód: Vybrat vše
<?php
function zobraz_hodnodtu($hodnota){
   echo "Hodnota proměnné a je: ".$hodnota;
}


$a = 15;
zobraz_hodnodtu($a);
?>[/
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod netrunner 19. 4. 2005 12:34

cicobasket píše:<?php
$text = "Hodnota proměnné a je: ";
$a = 15;
$text = "Hodnota proměnné a je: ".$a;
echo $text;
?>&/quote]


Dobře, řekněme že:
Kód: Vybrat vše
config.php
<?php
$config["hlaseni1"] = "Dobrý den, váš účet č.:".$ucet." byl aktivován v ".$cas." a další kecy k tomu.";
?>

stranka.php
<?php
include("config.php");
$ucet = 1234;
$cas = 5678;
echo $config["hlaseni1"];
?>
[/code]

Toto již snad přesně popíše o co mi jde. Zkrátka v nějakém souboru mám předdefinovaná různá hlášení a proměnné, které do každé stránky načtu, ale potřebuju je za běhu doplňovat aktuálními informacemi.
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod cache 19. 4. 2005 12:49

Univerzalne prekomplikovane riesenie ;)

Kód: Vybrat vše
config.php
<?php
$config["hlaseni1"] = "Dobrý den, váš účet č.: %UCET% byl aktivován v %CAS% a další kecy k tomu.";
?>

funkcie.php
<?php
function hlasenie($kecy,$hodnoty){
   foreach($hodnoty as $co => $cim){
      $kecy = str_replace($co,$cim,$kecy);
   }
   return $kecy;
}
?>


stranka.php
<?php
include("config.php");
include("funkcie.php");
$ucet = 1234;
$cas = 5678;
echo hlasenie($config["hlaseni1"], array("%UCET%" => $ucet, "%CAS%" => $cas));
?>
[/code]


ale toto si asi nechcel, ze? ;)
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod Boromir 19. 4. 2005 12:58

á to řeším klasickým formulářem.
Do jednoho skriptu se zadá hodnota, druhému se předá.
pokud je zájem o radu, ICQ 276825120
Boromir
Junior
Uživatelský avatar

Odeslat příspěvekod netrunner 19. 4. 2005 13:06

Boromir píše:á to řeším klasickým formulářem.
Do jednoho skriptu se zadá hodnota, druhému se předá.
pokud je zájem o radu, ICQ 276825120C/quote]

Právě že z formuláře data vyčtu, zpracovávám a během toho zpracování posílám uživateli tuto částešně předdefinovanou hlášku.
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod netrunner 19. 4. 2005 13:10

cache píše:[code]
config.php
<?php
$config["hlaseni1"] = "Dobrý den, váš účet č.: %UCET% byl aktivován v %CAS% a další kecy k tomu.";
?>

funkcie.php
<?php
function hlasenie($kecy,$hodnoty){
foreach($hodnoty as $co => $cim){
$kecy = str_replace($co,$cim,$kecy);
}
return $kecy;
}
?>


stranka.php
<?php
include("config.php");
include("funkcie.php");
$ucet = 1234;
$cas = 5678;
echo hlasenie($config["hlaseni1"], array("%UCET%" => $ucet, "%CAS%" => $cas));
?>
[/code]c/code]

ale toto si asi nechcel, ze? ;)


Ano ano! To je přesně ono! Jenom kdybys mi ještě prosím objasnil, jak ta funkce pracuje, krok po kroku prosím. Ještě se zcela neorientuju v zápisech typu array("%UCET%" => $ucet, "%CAS%" => $cas) a s foreach($hodnoty as $co => $cim) sem se ještě nesetkal :)
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod cache 19. 4. 2005 13:35

netrunner píše:Ano ano! To je přesně ono! Jenom kdybys mi ještě prosím objasnil, jak ta funkce pracuje, krok po kroku prosím. Ještě se zcela neorientuju v zápisech typu array("%UCET%" => $ucet, "%CAS%" => $cas) a s foreach($hodnoty as $co => $cim) sem se ještě nesetkal :)!/quote]


takze krok po kroku :)

function hlasenie($kecy,$hodnoty){

- funkcia dostane $kecy co je nejaky string, a $hodnoty co je pole ktore urcuje co sa cim nahradi.
- pole je urcene jednoducho: kluc ukazuje na hodnotu. cize v mojej definicii (co posielam funkcii) je:
"kluc" => hodnota
"%UCET%" => $ucet
"%CAS%" => $cas

foreach($hodnoty as $co => $cim){
$kecy = str_replace($co,$cim,$kecy);
}

- toto cyklicky prebehne poslanym polom, a pre kazdu polozku (ktoru docasne namapuje ako $co => $cim) spravi prepis casti ($co) stringu ($kecy) tym co si zadal ($cim).

return $kecy;

- toto jednoducho vrati uz upraveny string, ktory mozes vypisat alebo cokolvek s nim dalej robit.

pre dalsie podrobnosti odporucam pozriet:
http://www.php.net/manual/cs/
http://sk.php.net/manual/cs/function.array.php
http://sk.php.net/manual/cs/control-str ... oreach.php
http://sk.php.net/manual/cs/functions.php
alebo ich anglicke ekvivalenty (su lepsie)
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod netrunner 19. 4. 2005 13:41

Díky moc! Tohle je fakt přesně to co sem potřeboval :)
netrunner
Junior
Uživatelský avatar

Odeslat příspěvekod cache 19. 4. 2005 13:44

netrunner píše:Díky moc! Tohle je fakt přesně to co sem potřeboval :) /quote]


nzc :-B
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod #ikso 25. 4. 2005 19:54

najprv musis serveru povedat, ze kolko sa $a rovna, az potom od neho mozes chciet, aby vypisal $a :

<?php
$a = 15;
$text = "Hodnota proměnné a je: ".$a;
echo $text;
?>

naco si komplikovat zivot :)
Raz bude svet lepsi.. :)
#ikso
Junior

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků