Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
xixao1
Člen
Avatar
xixao1:3.10.2018 15:25

Kluci-odborníci,pomozte prosím:
mám proměnné $prom1, $prom2, $prom3... a potřebuju je vypsat cyklem FOR, ale nevím, jaká bude syntax, protože pokusy typu

for ($i=1; $i < 20; $i++) {
  echo $prom+$i; //("$prom.$i" atd.)
}

dopadly nezdarem. Asi by se to dalo řešit uložením proměnných do pole a výpisem echo $pole[$i], ale to mi přijde krkolomné.
Dík, Xi

 
Odpovědět
3.10.2018 15:25
Avatar
Odpovídá na xixao1
Erik Šťastný:3.10.2018 15:38

Pokud máš tři proměnné a potřebuješ je vypsat, tak nic jako vypsat cyklem FOR neexistuje, prostě napíšeš.

echo $prom1;
echo $prom2;
echo $prom3;

Ano mohl by jsi použít eval(), ale to je prasárna.

Jak říkáš, ano kdyby jsi měl pole, tak prvky pole, můžeš vypisovat pomocí FOR cyklu, nicméně ty ho očividně nemáš a ukládat kvůli tomu proměnné, které už máš samostatné ještě do pole je hloupost.

Můj tip, je že jde o domácí úkol, kde máš ten FOR použít, proto bych asi ty proměnné vůbec nedělal zvlášť a dal je do pole již od začátku, ať máš jak ten FOR cyklus použít.

Editováno 3.10.2018 15:39
 
Nahoru Odpovědět
3.10.2018 15:38
Avatar
Jirka Jr
Člen
Avatar
Jirka Jr:3.10.2018 18:16
for($i=1;$i<=20;$i++)
{
    echo ${"prom".$i};
}

jenom velké !BACHA!: pokud je obsahem $i nula, tak výsledkem není $prom0, nýbrž pouhé $prom

více v následujících odkazech

https://stackoverflow.com/…names-in-php#…

případně

https://secure.php.net/…variable.php

 
Nahoru Odpovědět
3.10.2018 18:16
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na xixao1
Jirka Jr:3.10.2018 18:19

sorry, odpověď vložena o koment výše....jen jsem původně místo odpovědi jen přidal komentář

 
Nahoru Odpovědět
3.10.2018 18:19
Avatar
Odpovídá na xixao1
Matúš Petrofčík:3.10.2018 18:20

Myslím že môžeš použiť niečo takéto (pls vyskúšaj, ja som to nikdy nepoužil):

$prom1 = 'hodnota1';

$nazevPromenny = 'prom1';

echo $$nazevPromenny; // všimni si 2x znak $$

Pokiaľ máš možnosť použiť array namiesto $prom1, $prom2, $prom3, použi array a vypíš pomocou cyklu foreach:

$pole = [];
$pole['promenna1'] = 'hodnota1';
$pole['promenna2'] = 'hodnota2';
$pole['promenna3'] = 'hodnota3';

foreach ($pole as $polozka) {
    echo $polozka;
}

Prípadne si hodnoty premenných hoď do poľa a potom ich vypíš pomocou cyklu foreach:

$pole = [$prom1, $prom2, $prom3];

foreach ($pole as $polozka) {
    echo $polozka;
}
Nahoru Odpovědět
3.10.2018 18:20
obsah kocky = r^2 ... a preto vlak drnká
Avatar

Člen
Avatar
:3.10.2018 18:42

Pozri si dokumentáciu: http://php.net/…variable.php

 
Nahoru Odpovědět
3.10.2018 18:42
Avatar
xixao1
Člen
Avatar
Odpovídá na Jirka Jr
xixao1:4.10.2018 9:22

Děkuju ;)

 
Nahoru Odpovědět
4.10.2018 9:22
Avatar
xixao1
Člen
Avatar
Odpovídá na
xixao1:4.10.2018 9:23

Děkuju ;)

 
Nahoru Odpovědět
4.10.2018 9:23
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na xixao1
Jirka Jr:4.10.2018 22:00

Rádo se stalo :-)

 
Nahoru Odpovědět
4.10.2018 22:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.