Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Nazwa zmiennej w innej zmiennej
Forum PHP.pl > Forum > Przedszkole
rayman
Mam taki kod:

  1. <?php
  2. $nr=2;
  3. $zmienna2="tekst";
  4. $zmienna = "$zmienna".$nr;
  5.  
  6. echo("$zmienna");
  7. ?>


Chciałbym aby echo wypisało mi tekst a nie $zmienna2. Czyli musi podążać za wewnętrzną zmienną. Co mam zrobić?
nospor
http://www.php.net/manual/pl/language.variables.variable.php

proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole
rayman
Dzięki, za szybką odpowiedź. Dla innych:) powinno to tak wyglądać:

  1. <?php
  2. $nr=2;
  3. $zmienna2="tekst";
  4. $$zmienna = "zmienna".$nr;
  5.  
  6. echo("${$zmienna}");
  7. ?>
mike
Zastanawiam się skąd ludzie biorą takie idiotyzmy jak:
  1. <?php
  2.  
  3. echo("${$zmienna}");
  4.  
  5. ?>
:?:

Powinno być:
  1. <?php
  2.  
  3. echo ${$zmienna};
  4.  
  5. ?>
qwaq
hmm może sie myle ale skoro:
Kod
echo("lalala");


i
Kod
echo "lalala";


wypisze to samo
to jaka jest różnica (poza ilością znaków)?
Kicok
Nie ma żadnej. Różnica jest gdy masz:
  1. <?php
  2.  
  3. $zmienna = 'abc';
  4. echo "$zmienna";
  5.  
  6. ?>


i
  1. <?php
  2.  
  3. $zmienna = 'abc';
  4. echo $zmienna;
  5.  
  6. ?>
Neojawor
i w tym różnicy nie ma, bo PHP szuka między cudzysłowami wartości zmiennych. Dopiero jak wstawisz
  1. <?php
  2. echo '$zmienna';
  3. ?>
to wypisze nazwę zmiennej. Wpisując:
  1. <?php
  2. echo "$zmienna";
  3. ?>

i
  1. <?php
  2. echo $zmienna;
  3. ?>

uzyskasz to samo, czyli wartość zmiennej smile.gif
Różnica taka że echo "$zmienna"; wykonuje się dłużej
qwaq
nie chodziło mi o rodzaj cudzysłowów a o nawiasy. Co zmieniają w szybkości i jaki to jest rząd wielkości?
KR2615
Nie będę zakładał nowego tematu tylko odkopię. Załóżmy, ze chcę mieć dwie tablice: $dataPLN i $dataUSD. Stworzyłem taki fragment kodu:
[php]$currencies = array('PLN','USD');
foreach($currencies as $currency) {
...
$data${currency} .= array('blah');
}/php]
i nie działa. Co robię źle? Jak użyć zmiennej w środku innej zmiennej?
Salvation
Nie rozumiem po co takie kombinowanie, ale...
  1. $variable = 'PLN';
  2. $variable = 'data' . $variable;
  3.  
  4. ${$variable} = 'asd';
  5.  
  6. echo $dataPLN;

Demo: https://3v4l.org/qGJ9H

Czyli na Twoje to będzie tak: https://3v4l.org/94QPj
KR2615
Dzięki, zadziałało.
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-2024 Invision Power Services, Inc.