Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana zmiennej na obiekt
Forum PHP.pl > Forum > PHP
Earth
  1. $tmp = "field_".$node->type."_en[0]['value']";
  2. print $node->$tmp;

to ma działać jak:
  1. $node->field_about_en[0]['value'];

ale nie za bardzo wiem jak to zrobić i czy jest możliwe
Zyx
Po co Ci to? Jeśli potrzebujesz takich kosmosów, prawdopodobnie Twój skrypt jest źle zaprojektowany. Ponadto:

  1. echo $foo->{$name}[0];
Quadina
Spróbuj takiego kosmite:
  1. $tmp = eval("$node->field_".$node->type."_en[0]['value']();";


Chociaż nie polecam takich rozwiązań - lepiej przerobić logikę skryptu tak, aby nie trzeba było używać takich dziwolongów, tylko korzystać z jakichś tablic - informacja w nazwie zmiennej to żadna informacja.
aart3k
nie lepiej Ci dorobić metodę do tego w klasie? Oprócz tego zamiast dodatkowych zmiennych można zrobić:
  1. print $node->{"field_".$node->type."_en[0]['value']"};
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.