Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Operacje na tablicach obiektów
Forum PHP.pl > Forum > Przedszkole
in5ane
Hej, mam problem, bo nie działa mi ten kod jak powinien. Mam glowny produkt, ktory zawiera informacje, ale jesli któryms z pobocznych produktów (od tego glownego produktu) znajdzie sie taki sam rodzaj informacji (np. rozdzielczosc monitora), tzn., ze ten rodzaj informacji jesli istnieje w glownym produkcie, to ma z niego wywalic, bo dany rodzaj informacji ma wazniejszy priorytet w ktoryms z pobocznych produktow. Pomyslalem, ze zrobie to w zaprezentowany ponizej sposob, ale cos nie chodzi za dobrze. Moze ma ktos jakis pomysl?
  1. $kopiaGlownychInformacji = array();
  2. foreach ($glowneInformacje as $i => $glownaInformacja)
  3. {
  4. foreach ($poboczneProdukty as $pobocznyProdukt)
  5. {
  6. foreach ($pobocznyProdukt as $pobocznaInformacje)
  7. {
  8. if ($glownaInformacja->name != $pobocznaInformacje->name)
  9. {
  10. $kopiaGlownychInformacji ['$glownaInformacja->name'] = new stdClass();
  11. $kopiaGlownychInformacji ['$glownaInformacja->name']->name = $glownaInformacja->name;
  12. }
  13. else
  14. {
  15. unset($kopiaGlownychInformacji [$glownaInformacja->name]);
  16. }
  17. }
  18. }
  19. }


Np. w glownym produkcie znalazlo: rozdzielczosc monitora i wtedy dla tej informacji sprawdza wszystkie poboczne produkty, pozniej dla kazdego pobocznego produktu sprawdza wszystkie jego rodzaje informacji i jesli nie natrafi na taki, to ma dodac to do $kopiaGlownychInformacji, ale gdy natrafi, to ma probowac usunac z tej tablicy obiektow taki rodzaj informacji. Zaprezentowalem to w taki bardzo uproszczony sposob, aby kazdy zrozumial, o co mi chodzi. Moze ma ktos pomysl. Zaznacze, ze na tej glownej tablicy $glowneInformacje nie moge pracowac. Musi ona pozostac niezmieniona.
phpion
Czy tutaj $kopiaGlownychInformacji ['$glownaInformacja->name'] na pewno chciałeś użyć apostrofów? Wydaje mi się (nie wnikając w logikę całego kodu), że powinno być bez nich.
in5ane
Cenna uwaga. Ale przy okazji wpadłem na troszkę inny pomysł. Najpierw tworzę całą kopię tablicy obiektów i dopiero gdy znajdzie jakiś po drodze to już z niej usuwam. I teraz działa, jak należy.
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.