Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak nazwać zmienne ich wartościami
Forum PHP.pl > Forum > Przedszkole
tikky
  1. <?php
  2. $results = $db->get_results("SELECT DISTINCT numer FROM pogoda ORDER by data ASC");
  3.  
  4. foreach ( $results as $user )
  5. {
  6. // Wyswietla dane
  7. $user->czujnik;
  8. // tu trzeba wstawić cos aby miec zmienne
  9. }
  10. ?>


Jak zrobić aby w powyższej pętli przyporządkować nazwie zmiennej jej wartość.
Czyli normalnie powyższa funkcja da nam np 5 wartości: 10,20,30,40, i 50.
A ja chciałbym otrzymać takie zmienne:
$10=10
$20=20
$30=30
$40=40
$50=50

Niby proste a nie wiem jak nazwać tak zmienne.
mike
Zmienne :: Podstawy
Poczytaj sobie najpierw jakie nazwy mogą nosić zmienne tongue.gif

Tak w ogóle to zapraszam do Przedszkola (przenoszę z PHP).
guilty82
  1. <?php
  2. foreach ($results as $k=>$v) $$k = $v;
  3. ?>
tikky
Tak, wiem, że zmienne nie mogą się zaczynać od cyfry, ale to był tylko przykład.
W takim razie załóżmy, że mamy taką tablicę:
  1. <?php
  2. $arr = array("jeden", "dwa", "trzy");
  3. ?>

robię tak jak powiedziałeś:
  1. <?php
  2. foreach ($arr as $k => $v) $$k = $v;
  3. ?>



ale to nie daje tego o co pytałem. Ja chciałbym aby teraz każda zmienna nazywała się tak jak wartość, czyli żeby wyświetlenie $jeden dawało  'jeden', moż tak to opisze:

  1. <?php
  2. echo $jeden; //to powinno wyświetlić 'jeden' czyli że $jeden='jeden'
  3. echo $dwa;
  4. echo $trzy;
  5. ?>
mike
W takim razie:
  1. <?php
  2.  
  3. foreach ($arr as $v) {
  4.    $$v = $v;
  5. }
  6.  
  7. ?>

Pamiętaj też, że jest coś takiego jak extract(). To tak na przyszłość.
Wtedy można zrobić tak:
  1. <?php
  2.  
  3. extract(array_combine($arr, $arr));
  4.  
  5. ?>
dr_bonzo
@tikky:
Pytanko, a jak bedziesz chcial te zmienne potem wyswietlac? Skad bedziesz wiedzial jakie maja nazwy?
I moze inaczej: co ty w ogole chcesz osiagnac?questionmark.gif
tikky
ano właśnie, dzięki

że na takich prostych rzeczach się człowiek zacina :-)



@dr_bonzo:
Wiem jak się będą nazywać gdyż w bazie mam 10 różnych wartości znanych mi i chciałem wywołać 10 instancji klasy i nazwać je tak aby później nie było bałaganu i żebym łatwo mógł się do nich odwołać.
erix
Właśnie w ten sposób masz bałagan. Porządek możesz mieć co najwyżej w tablicy i w poszczególnych kawałkach kodu zrobić sobie alias-referencję.
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.