Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sergegacja i podmiana danych z tablicy
5w155
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Mam taką tablicę:
  1. (
  2. [0] => stdClass Object
  3. (
  4. [id] => 1
  5. [typ] => tw
  6. [zestaw] => po,ok:mi,or:te,do:bi,ok:sp
  7. )
  8.  
  9. [1] => stdClass Object
  10. (
  11. [id] => 2
  12. [typ] => tw
  13. [zestaw] => po,ok:mi,or:te,do:bi,sp:la,do:bi,ok:sp
  14. )
  15.  
  16. [2] => stdClass Object
  17. (
  18. [id] => 3
  19. [typ] => tw
  20. [zestaw] => po,or,do:bi
  21. )
  22.  
  23. [3] => stdClass Object
  24. (
  25. [id] => 4
  26. [typ] => tw
  27. [zestaw] => pr,po,ok:ma,or,ok:pa
  28. )
  29.  
  30. [4] => stdClass Object
  31. (
  32. [id] => 5
  33. [typ] => tw
  34. [zestaw] => po,pr:pr
  35. )
  36.  
  37. [5] => stdClass Object
  38. (
  39. [id] => 7
  40. [typ] => py
  41. [zestaw] => py,po,ok:pa,ok:sk,or,do:bi
  42. )
  43.  
  44. [6] => stdClass Object
  45. (
  46. [id] => 8
  47. [typ] => py
  48. [zestaw] => py,pr,po,or
  49. )
  50.  
  51. [7] => stdClass Object
  52. (
  53. [id] => 9
  54. [typ] => py
  55. [zestaw] => py,po,or
  56. )
  57.  
  58. )

Potrzebuję ją podzielić ze wzlędu na [typ] (są tu akurat tylko 2), potem rodzielić wszystko w [zestaw]'ie i popodmieniać te wartości.
Ma to wyglądać tak:

explode 'zestaw' wg "," (przecinka), a potem jeszcze rozbicie tego na mniejsze tabele wg ":" (dwukropka).
Daje mi to coś takiego:
  1. (
  2. [0] => po
  3. )
  4.  
  5. (
  6. [0] => ok
  7. [1] => mi
  8. )
  9.  
  10. (
  11. [0] => or
  12. [1] => te
  13. )
  14.  
  15. (
  16. [0] => do
  17. [1] => bi
  18. )
  19.  
  20. (
  21. [0] => ok
  22. [1] => sp
  23. )
  24.  
  25. (
  26. [0] => po
  27. )
  28.  
  29. ..................itd

I teraz pytanie: jak za pomcą np str_replace (o ile tak sie da) podmienić wartości tych elementów. Np "po" zamienić na "podmiot" itd? [struktura tabeli moze pozostac ta sama]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Masz przykład:
  1. <?php
  2.  
  3. $arr = array(
  4. array('typ' => 'x', 1),
  5. array('typ' => 'y', 1),
  6. array('typ' => 'y', 2),
  7. array('typ' => 'x', 2),
  8. array('typ' => 'x', 3)
  9. );
  10.  
  11. $n_arr = array();
  12. foreach ($arr as $item) {
  13. $n_arr[$item['typ']][] = $item;
  14. }
  15.  
  16. echo '<pre>';
  17. print_r($n_arr);
  18.  
  19. ?>


Resztę wymyślisz ;]


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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 - 18:09