Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Operacje na obiektach
Forum PHP.pl > Forum > Przedszkole
miedzna
Hej, mam dane objektowe jak poniżej. Jak zmienić klucze
[0] => stdClass Object
[1] => stdClass Object
[2] => stdClass Object
[3] => stdClass Object
[4] => stdClass Object

na odpowiedniki z pozbioru, czyli
[id] => 3
[id] => 2
[id] => 2
[id] => 1
[id] => 1

czyli żeby było tak
[3] => stdClass Object
[2] => stdClass Object
[2] => stdClass Object
[1] => stdClass Object
[1] => stdClass Object

  1. (
  2. [0] => stdClass Object
  3. (
  4. [id] => 3
  5. [clientID] => 123
  6. )
  7.  
  8. [1] => stdClass Object
  9. (
  10. [id] => 2
  11. [clientID] => 456
  12. )
  13.  
  14. [2] => stdClass Object
  15. (
  16. [id] => 2
  17. [clientID] => 789
  18. )
  19.  
  20. [3] => stdClass Object
  21. (
  22. [id] => 1
  23. [clientID] => 1011
  24. )
  25.  
  26. [4] => stdClass Object
  27. (
  28. [id] => 1
  29. [clientID] => 1234
  30. )
  31. )
nospor
Nie da sie. Tablica moze posiadac tylko jeden dany klucz

Mozasz natomiast pod dana wartosci trzymac tablice obiektow zamiast obiektu.

Napisz lepiej co kombinujesz
miedzna
Muszę z tych danych magicznym foreach otrzymać coś takiego:
[id] => 3
- [clientID] => 123

[id] => 2
- [clientID] => 456
- [clientID] => 789

[id] => 1
- [clientID] => 1011
- [clientID] => 1234

Czyli tabelkę, która mi pokaże wylistowane procesy ([id] => 3,2,1) i do każdego procesu przypisze odpowiednie clientID, których może być wiele na każdym procesie. Zapytanie do bazy mogę zrobić jedno, gdzie łączę kilka tabel i dostaję wiele wierszy, czyli na każdego clientID jeden wiersz. I teraz kombinuję jak to ułożyć sensownie w tabelę.
nospor
Nom czyli masz miec array w array

Tu masz opisane na paru przykladach jak sie grupuje dane w ten sposob
http://nospor.pl/grupowanie-wynikow.html
miedzna
Przeczytałem, ale jakoś nie mogę się połapać... sad.gif U mnie są obiekty, u Ciebie tablica
nospor
U mnie sa wartosci tak samo jak i u ciebie. Tyle ze u mnie wartosc jest tekstem/liczba a u ciebie tablica. Wartosci cie nie interesuja. W obu przypadkach mamy tablica, ktora znowu zawiera tablice wartosci. Interesuje cie jak utworzyc tablice w tablicy by dla danego klucza miec kilka wartosci i to tam masz wyjasnione. Ty wlasnie potrzebujesz dla kazdego klucza stworzyc tablice obiektow by moc trzymac wiecej niz jeden obiekt dla danego klucza w tablicy
miedzna
Jakoś dziś nie mogę tego ogarnąć, chyba zmęczenie materiału.
Ty masz pod kluczem [products] => Array kolejnego arraya, a ja mam tylko 1 poziom smile.gif
Jakoś nie łapię się.
nospor
Cytat
a ja mam tylko 1 poziom
Wlasnie, masz jeden poziom a masz stworzy dwa. Dokladnie to samo jest u mnie. Najpierw jest jeden poziom a potem robie z tego drugi by pod kluczem np. 2 miec trzy obiekty ktore naleza do tego klucza.
IAmBoskiM
  1. $arr = array(); // nie chce mi sie kopiowac ani nic tresci tej tablicy, ale to jest ta 0 1 2 3 itd
  2. $arr2 = array(); // pusta tablica
  3. foreach ($arr as $value) {
  4. $arr2[$value->id][] = $value->clientID;
  5. }
  6. // I wtedy masz cos takiego w $arr2, jezeli sie nie myle:
  7. 1 => array(
  8. 0 => $clientid1,
  9. 1 => $clientid2),
  10. 2 => array(
  11. 0 => $clientid3,
  12. 1 => $clientid4),
  13. 3 => array(
  14. 0 => $clientid5)
  15. )
miedzna
Dzięki za pomoc! smile.gif
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.