Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Elementy tablicy jako zmienne
Forum PHP.pl > Forum > PHP
zbygal83
Cześć, mam tablicę zawierającą jakieś elementy. Chciałbym użyć tych elementów jako nazw zmiennych. Dla zwizualizowania:

CODE

<?
$a = 1;
$b = 2;
$c = 33;
$zmienne = array('$a',$b'$c');

foreach ($zmienne as $linia)
{
echo 'Zmienna o nazwie '.$linia. 'ma wartość: ' .$linia';
}
?>

Jak zmodyfikować ten kod, bym otrzymał taki wynik:
"Zmienna o nazwie $a ma wartość 1"
kalmaceta
pomijając celowość i inne sposoby można tak Twoim kodem
  1. $zmienne = array('$a','$b','$c');
  2.  
  3. foreach ($zmienne as $linia)
  4. {
  5. echo 'Zmienna o nazwie '.$linia. ' ma wartość: '.eval('echo '.$linia.';');
  6. }
zbygal83
Niestety ten sposób nie działa. Pomógł mi już jednak użytkownik lobopol. Dopiero uczę się programowania i problemem był sposób mojego myślenia smile.gif
MWL
To proponuję Ci byś nie zaczynał od PHP. No chyba że chcesz się do tego ograniczyć.
PHP to bardzo prosty język, nie każe Ci pamiętać o typach zmiennych i innych "bzdetach" które bzdetami nie są smile.gif

Ja od PHP zacząłem i ciężko było mi polubić Cpp czy nawet Pascala...
zbygal83
@MWL: zależy mi na poznaniu php z tego względu, że pracuję jako grafik/webmaster/frontend developer czy jak tam mi na drzwiach napiszą smile.gif Do pełni szczęścia brakuje mi umiejętności programowania. Wybór padł na php jako najpopularniejszy język skryptowy. Te trzy rzeczy: xhtml, css, php umożliwią mi samodzielne pisanie aplikacji webowych, a nie tylko kodowanie statycznych stron internetowych. Wydaje mi się, że w tej sytuacji php jest najlepszym językiem dla mnie.
kalmaceta
Cytat(zbygal83 @ 15.01.2011, 23:20:50 ) *
Niestety ten sposób nie działa. Pomógł mi już jednak użytkownik lobopol. Dopiero uczę się programowania i problemem był sposób mojego myślenia smile.gif

jak nie działa, jak działa http://codepad.org/etZJQzoZ
posiadacz
  1. echo $$a;
zbygal83
Cytat(kalmaceta @ 16.01.2011, 14:00:55 ) *
jak nie działa, jak działa http://codepad.org/etZJQzoZ

Napiszę inaczej. Działa nie poprawnie. Popatrz na wynik skryptu:
1Zmienna o nazwie $a ma wartość: 2Zmienna o nazwie $b ma wartość: 33Zmienna o nazwie $c ma wartość:
A powinno być
Zmienna o nazwie $a ma wartość: 1 Zmienna o nazwie $b ma wartość: 2Zmienna o nazwie $c ma wartość: 33

kalmaceta
pop. do cp http://codepad.org/vBzA7EKL
Crozin
Zapamiętaj sobie jedno: nadużywanie szeroko pojętej magii czy dynamiczności języka (PHP jest aż za bardzo dynamiczny) prędzej czy później prowadzi do problemów.
  1. $a = 1;
  2. $b = 23;
  3. $c = 4324;
  4.  
  5. $variables = array('a' => $a, 'b' => $b, 'c' => $c);
  6. foreach ($variables as $variable => $value) {
  7. echo "Variable \$$variable: $value\n";
  8. }
Jeżeli nagle okaże Ci się, że ta tablica będzie musiała zawierać 4234 elementów i nie chce Ci się wielokrotnie przepisywać jakby na to nie patrzeć tego samego oznaczać to będzie mniej-więcej tyle, że zrypane masz już same założenia i taki kod w ogóle nigdy nie powinien powstać.
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.