Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zamiana string na tablicę wielowymiarową
radziopoke
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

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


Posiadam taki ciąg znaków
Np.
  1. a:1;b:2;c:a:3;c:b:4;d:a:a:5;d:a:b:6;d:a:c:7;d:b:a:8;d:b:b:9;d:b:c:10;d:c:11;d:d:12;e:a:13;e:b:14;

I musiałbym zamienić go na tablicę wielowymiarową
  1. $t['a']=1;
  2. $t['b']=2;
  3. $t['c']['a']=3;
  4. $t['c']['b']=4;
  5. $t['d']['a']['a']=5;
  6. $t['d']['a']['b']=6;
  7. $t['d']['a']['c']=7;
  8. $t['d']['b']['a']=8;
  9. $t['d']['b']['b']=9;
  10. $t['d']['b']['c']=10;
  11. $t['d']['c']=11;
  12. $t['d']['d']=12;
  13. $t['e']['a']=13;
  14. $t['e']['b']=14;

Chodzi o to, że pobieramy cześć ciągu do średnika np a:1;
Zamieniamy na element tablicy $t['a']=1
A w przypadku kawałka ciągu d:a:a:5; powinno stworzyć element tablicy $t['d']['a']['a']=5
I w taki sposób stworzyć tą tablicę. Główkuje już ze 2 godziny ale chwilowo nic zensownego nie wymyśliłem.
Ciągi mogą być różne ale zawsze elementy rozdzielone są średnikami

Jest w stanie ktoś pomóc lub ma jakiś pomysł jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Tworzysz sobie funkcję rekurencyjną, która zwraca tablicę, gdzie kluczowi (a.b.c.a, a.b.c.b, a.b.c.c...) odpowiada dana wartość. Taka funkcja może wykorzystywać rekurencję do obrabiania kolejnych poziomów tablicy. Pierwszym argumentem funkcji będzie tablica do przetworzenia, drugim natomiast prefix dla kluczy (czyli w tym przypadku: a, następnie a.b, po czym ostateczne a.b.c).
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.10.2025 - 14:24