Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> $$a[]=$b bez eval
colargol
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 24.02.2009

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


Witam,

jak to zrobić nie używając eval, aby zapisać do tablicy o nazwie $a wartość $b:

Kod
$a='array';
$b='value';
$$a[]=$b;

echo $array[0]; //powinno wyświetlić: value


powyższy przykład wywala błąd, że nie można użyć []
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
zelu
post
Post #2





Grupa: Zarejestrowani
Postów: 229
Pomógł: 34
Dołączył: 7.12.2008
Skąd: Poznań

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


musisz podac indeks, gdzie ma to zostać wpisane, np $a[0]. Albo użyć array_push

Pozdro
Go to the top of the page
+Quote Post
wookieb
post
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. <?php
  2. $a='array';
  3. $b='value';
  4. $a=&$$a;
  5. $a[]=$b;
  6. ?>

Ale po co tak chcesz to zrobić? Jest to... "nieeleganckie" przedstaw sytuację bo pewnie da się to zrobić w inny sposób.
Go to the top of the page
+Quote Post
colargol
post
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 24.02.2009

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


Cytat(wookieb @ 2.05.2009, 09:05:45 ) *
Ale po co tak chcesz to zrobić? Jest to... "nieeleganckie" przedstaw sytuację bo pewnie da się to zrobić w inny sposób.



moja sytuacja:

Kod
$columns = array('id','name','content');

$result = mysql_query("SELECT ".implode(",", $columns)." FROM tabela");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
  
  for($i=0;$i<count($columns);$i++){
  
  $a = $columns[$i];
  $b = $row[columns[$i]];

  $$a[] = $b; //to nie działa

  }
  

}

//tu wyświetla wartości zmiennych o nazwach takie jak nazwy kolumn

print_r($id);
print_r($name);
print_r($content);


Ten post edytował colargol 2.05.2009, 14:49:14
Go to the top of the page
+Quote Post
Maxik
post
Post #5





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


  1. <?php
  2. ${$a}[] = $b;
  3. ?>


Powinno działać.
Go to the top of the page
+Quote Post
Kildyt
post
Post #6





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

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


Nie zliczaj za każdym tablicy $columns. Niepotrzebnie marnujesz czas. Zapisz sobie wynik do jednej zmiennej i działaj na niej.
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: 22.08.2025 - 18:56