Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmiana zmiennej na obiekt
Earth
post
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 2
Dołączył: 6.12.2006

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Po co Ci to? Jeśli potrzebujesz takich kosmosów, prawdopodobnie Twój skrypt jest źle zaprojektowany. Ponadto:

  1. echo $foo->{$name}[0];
Go to the top of the page
+Quote Post
Quadina
post
Post #3





Grupa: Zarejestrowani
Postów: 200
Pomógł: 38
Dołączył: 1.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
aart3k
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 10
Dołączył: 2.02.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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']"};
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 18:26