Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Operacje na obiektach
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


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. )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Nie da sie. Tablica moze posiadac tylko jeden dany klucz

Mozasz natomiast pod dana wartosci trzymac tablice obiektow zamiast obiektu.

Napisz lepiej co kombinujesz
Go to the top of the page
+Quote Post
miedzna
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


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ę.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
miedzna
post
Post #5





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Przeczytałem, ale jakoś nie mogę się połapać... (IMG:style_emoticons/default/sad.gif) U mnie są obiekty, u Ciebie tablica
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
miedzna
post
Post #7





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


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 (IMG:style_emoticons/default/smile.gif)
Jakoś nie łapię się.

Ten post edytował miedzna 21.06.2016, 15:47:28
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




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.
Go to the top of the page
+Quote Post
IAmBoskiM
post
Post #9





Grupa: Zarejestrowani
Postów: 72
Pomógł: 11
Dołączył: 8.05.2016

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


  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. )
Go to the top of the page
+Quote Post
miedzna
post
Post #10





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Dzięki za pomoc! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 23.12.2025 - 18:00