Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $$a[]=$b bez eval
Forum PHP.pl > Forum > Przedszkole
colargol
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ć []
zelu
musisz podac indeks, gdzie ma to zostać wpisane, np $a[0]. Albo użyć array_push

Pozdro
wookieb
  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.
colargol
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);
Maxik
  1. <?php
  2. ${$a}[] = $b;
  3. ?>


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