Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie zmiennych?
Forum PHP.pl > Forum > PHP
marek220
Witam

Mam pytanie czy mozna jakos zamienic string na zmienna, lub tez uzyc polaczenia zmiennych, tzn. mam zmienne;

$produkt_0
$produkt_1
$produkt_2
$produkt_3
$produkt_4
$produkt_5
$produkt_6
$produkt_7
...

i chcialbym sie odwolac do nich w petli (np. $produkt_$i -ale niestety nie dziala).

Laczenie '$produkt_'."$i" - takze nie potarafie przeksztalcic na zmienna.

z gory dziekuje

pozdrawiam


----

OK juz sobie poradzilem, nalezalo uzyc double dolara smile.gif

utworzyc zmienna:

$temp = '$produkt_'."$i";

i odwolac sie do: $$temp


pozdrawiam
crash
Bez zmiennej pomocniczej:
  1. <?php
  2. for( $i = 0; $i < 8; $i++ )
  3. {
  4.    echo ${'produkt_'.$i}.' ';
  5. }
  6. ?>

tiraeth: Twoje rozwiązanie za bardzo nie działa. Poza tym zrobiłeś infinite loop smile.gif
tiraeth
A no faktycznie tongue.gif To ja usunę post'a swojego smile.gif Właśnie sobie "przetestowałem" ten mój infinite loop i zamuliło mi tak kompa, że musiałem reset smile.gif Niebezpieczne są takie pomyłki biggrin.gif
nubek
Jak to zrobic w petli for tak żeby podstawiać pod obie 1 $i?

$u1 = $_POST['u1'];
$u2 = $_POST['u2'];
$u3 = $_POST['u3'];
$u4 = $_POST['u4'];
$u5 = $_POST['u5'];

for($i=1; $i<=5;$i++)
{

}
.radex
o ile dobrze rozumiem, to tak:

  1. <?php
  2. $u1 = $_POST['u1'];
  3. $u2 = $_POST['u2'];
  4. $u3 = $_POST['u3'];
  5. $u4 = $_POST['u4'];
  6. $u5 = $_POST['u5'];
  7.  
  8. for($i=1; $i<6;$i++)
  9. {
  10.  echo ${'u'.$i};
  11. }
  12. ?>
Snowak
Można jeszcze skorzystać z tablicy $GLOBALS, powinno działać odrobinę szybciej

  1. <?php
  2. for ($i = 0; $i < 8; $i++)
  3. {
  4. echo($GLOBALS['produkt_' . $i]);
  5. }
  6. ?>


To działa tylko w przypadku zmiennych globalnych a nie w zakresie funkcji.
.radex
ee no daj spokój z $GLOBALS tongue.gif choć rzeczywiście i tak można to zrobić winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.