Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] przekształcenie tablicy, nie wiem jak
maciu
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


mam taką tablicę
  1. array (
  2. [user] => Array
  3. (
  4. [0] => Array
  5. (
  6. [imie] => rysio
  7. [nazwisko] => rysio
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [imie] => gutek
  13. [nazwisko] => gutek
  14.  
  15. )
  16.  
  17. [dane] => Array
  18. (
  19. [wartosc] => jakas wartosc
  20.  
  21. )
  22. )
  23. )


i teraz chciałbym tą tablicę przekształcić tak:
  1. array (
  2. [user] => Array
  3. (
  4. [0] => Array
  5. (
  6. [imie] => rysio
  7. [nazwisko] => rysio
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [imie] => gutek
  13. [nazwisko] => gutek
  14.  
  15. )
  16. )
  17. [dane] => Array
  18. (
  19. [wartosc] => jakas wartosc
  20. )
  21. )


czyli, żeby indeks dane "wyszedł" z indeksu user
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


  1. <?php
  2.  
  3. $arrTab = array(); // Twoja tablica
  4.  
  5. $arrTab[ 'dane' ] = $arrTab[ 'user' ][ 'dane' ];
  6. unset( $arrTab[ 'user' ][ 'dane' ] );
  7.  
  8. ?>


Jeśli chciałbyś ten proces zautomatyzować dla róznych tablic, musisz to robić w pętli.
Go to the top of the page
+Quote Post
maciu
post
Post #3





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


hmm testowałeś ten kod? Bo u mnie nie ma zmian.
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(maciu @ 6.08.2006, 13:22 ) *
hmm testowałeś ten kod? Bo u mnie nie ma zmian.

Mi tam wszystko działa tongue.gif

  1. <pre><?php
  2.  
  3. $arrTab = array();
  4. $arrTab[ 'user' ][ 0 ][ 'imie' ]  = 'rysio';
  5. $arrTab[ 'user' ][ 0 ][ 'nazwisko' ] = 'rysio';
  6.  
  7. $arrTab[ 'user' ][ 1 ][ 'imie' ]  = 'gutek';
  8. $arrTab[ 'user' ][ 1 ][ 'nazwisko' ] = 'gutek';
  9.  
  10. $arrTab[ 'user' ][ 'dane' ][ 'wartosc' ] = 'jakas wartosc';
  11.  
  12. print_r( $arrTab );
  13.  
  14. $arrTab[ 'dane' ] = $arrTab[ 'user' ][ 'dane' ];
  15. unset( $arrTab[ 'user' ][ 'dane' ] );
  16.  
  17. print_r( $arrTab );
  18.  
  19. ?></pre>


P.S.
Przenoszę z php na Przedszkole.
Toż to same podstawy są.
Go to the top of the page
+Quote Post
MagnuM
post
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


To co napisałeś mike zwróci:
  1. array (
  2. [user] => Array
  3. (
  4. [0] => Array
  5. (
  6. [imie] => rysio
  7. [nazwisko] => rysio
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [imie] => gutek
  13. [nazwisko] => gutek
  14.  
  15. )
  16. [dane] => Array
  17. (
  18. [wartosc] => jakas wartosc
  19.  
  20. )
  21. )
  22. [dane] => Array
  23. (
  24. [wartosc] => jakas wartosc
  25. )
  26. )

Czyli krótko mówiąć część kodu:
  1. <?php
  2. $arrTab[ 'user' ][ 'dane' ][ 'wartosc' ] = 'jakas wartosc';
  3.  
  4. $arrTab[ 'dane' ] = $arrTab[ 'user' ][ 'dane' ];
  5. unset( $arrTab[ 'user' ][ 'dane' ] );
  6. ?>

Wystarczyło zastąpić:

  1. <?php
  2. $arrTab[ 'dane' ][ 'wartosc' ] = 'jakas wartosc';
  3. ?>


I wynik byłby taki jak zamierzony ;-)

Czyli dla uporządkowania sprawy ma to wyglądać tak:
  1. <pre><?php
  2.  
  3. $arrTab = array();
  4. $arrTab[ 'user' ][ 0 ][ 'imie' ]  = 'rysio';
  5. $arrTab[ 'user' ][ 0 ][ 'nazwisko' ] = 'rysio';
  6.  
  7. $arrTab[ 'user' ][ 1 ][ 'imie' ]  = 'gutek';
  8. $arrTab[ 'user' ][ 1 ][ 'nazwisko' ] = 'gutek';
  9.  
  10. $arrTab[ 'dane' ][ 'wartosc' ] = 'jakas wartosc';
  11.  
  12. print_r( $arrTab );
  13.  
  14. ?></pre>


--------------------
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


No widzisz ~MagnuM Twoja tablica nie jest taka jak autor chciał tongue.gif
Ma o jeden element za dużo. Stąd u mnie unset()

A tak poza tym to Ty od początku tworzysz tablicę.
Masz na początku jakąś tablice i musisz znią zrobić coś, a Ty po prostu tworzysz wynik. To nie jest żadne przekaształcenie, żadna zmiana.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 09:12