Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak zapisać co drugą wartośc jednej tablicy do drugiej
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

Kolejny problem.
W bazie danych sql mam mam pole czesci, w którym zapisuję rekordy w następujący sposób

userID{ilosc|userID2{ilosc2| ... itd.

I teraz przy pobieraniu zrobiłem tak

  1. <?php
  2. $tekst = str_replace("|", "{", $row["czesci"]);
  3. $tablica1 = explode("{", $tekst);
  4. ?>


I tutaj zaczął sie mój problem, teraz chcialbym sobie utworzyć dwie tablice - $userzy i $ilosc_czesci, tylko nie wiem, jak z tej jednej tablicy zrobić teraz dwie.
Znaczy na początku wydawało mi sie to łatwe, bo rekordy tablicy układają sie tak, że

userzy to 0,2,4,6,8,itd..., a czesci to 1,3,5,7,9,itd...., więc co dwa, ale teraz nie mam zielonego pojąci, jak z tej jednej tablicy zrobić dwie,

Proszę o pomoc.
empuszek
Wyciągaj to pętlą aż do pustej tablicy tongue.gif
puz219
qrde nie rozumie, że co mam zrobić??
empuszek
jutro ci napisze kod
chodziło mi o while
Crozin
  1. <?
  2.  
  3. $tablica = ...; //ta tablica
  4. $id = array();
  5. $czesci = array();
  6. $i = 0;
  7.  
  8. foreach($tablica as $t){
  9. $abc = (($i++ % 2) == 0) ? 'id' : 'czesci';
  10. $$abc[] = $t;
  11. }
  12.  
  13. ?>
puz219
sorry, że tak marudzę, ale nie mogę się w tym połapać. zrobiłem tak jak pisałeś i tylko mi stronę porozwalało,

Oto, ja to przerobiłem, co jest nie tak:

  1. <?php
  2. $_pobierz = str_replace("|", "{", $row["czesci"]);
  3. $_explode = explode("{", $_pobierz);
  4.  
  5. $users_id = array();
  6. $ilosc_czesci = array();
  7. $i = 0;
  8.  
  9. foreach($_explode as $t){
  10. $abc = (($i++ % 2) == 0) ? 'users_id' : 'ilosc_czesci';
  11. $abc[] = $t;
  12. }
  13. ?>
Crozin
Kod
$$abc[] = $t
(mają być dwa $$)
puz219
Ale jak dam dwa $$, to wywala mi błąd, a jak dam jeden to całkowicie rozwala mi strukturę strony.

A co dokładnie robi ten kod wewnątrz foreach??
Może da sie go zapisać w inny sposób
Crozin
Tak więc możesz spróbować tego foreach'a tak zapisać:
  1. <?php
  2. foreach($_explode as $t){
  3. if(($i++ % 2) == 0)
  4. $users_id[] = $t;
  5. else
  6. $ilosc_czesci[] = $t;
  7. }
  8. ?>
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.