Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Optymalizacja i iteracja tablicy wielowymiarowej.
scr1pt3r
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 27.08.2011
Skąd: Los Angeles

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


  1. <?php
  2. $matrix = array( "car1" => array( "pos" => array( "x" => 120,
  3. "y" => 15,
  4. "z" => 340
  5. ),
  6. "rot" => array( "rotX" => 140.0,
  7. "rotY" => 1,
  8. "rotZ" => 90
  9. )
  10. ),
  11. "car2" => array( "pos" => array( "x" => 12110,
  12. "y" => 1115,
  13. "z" => 34110
  14. ),
  15. "rot" => array( "rotX" => 1,
  16. "rotY" => 2,
  17. "rotZ" => 3
  18. )
  19. )
  20. ) ;
  21.  
  22. $iter_cache = "pos" ;
  23. $iter = 1 ;
  24.  
  25. foreach( $matrix as $key => $value )
  26. {
  27. echo "Iteruje macierz obiektu = " . $key . "</br>" ;
  28. foreach( $value[ $iter_cache ] as $key => $value )
  29. {
  30. $iter += 1 ;
  31. echo "Wlasciwosc " . $key . " = " . $value . "</br>" ;
  32. $iter_cache = $iter == 3 ? $iter_cache = "rot" : $iter_cache = $iter_cache ;
  33. }
  34. }
  35.  
  36. ?>


W ramach nauki o tabelkach zrobiłem sobie taką tablice wielowymiarową i ziterować pozycje oraz roacje tych dwóch pojazdów. Co sądzicie o optymalizacji i sposobie iteracji ? Tego co potrzebuje...

Ten post edytował scr1pt3r 27.08.2011, 19:02:43
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Nie możesz dwa razy deklarować tej samej zmiennej wewnątrz dwóch lub więcej pętli jeżeli służą do prezentacji tablicy. Mówię o zmiennych $key i $value

  1.  
  2. foreach( $matrix as $key => $value ) {
  3.  
  4. foreach($value as $k => $v) {
  5.  
  6. }
  7. }


Druga sprawa - ten zapis jest nie poprawny (działa ale nadpisujesz dwa razy tą samą zmienną):
$iter_cache = $iter == 3 ? $iter_cache = "rot" : $iter_cache = $iter_cache ;
powinno być:
$iter_cache = ($iter == 3) ? "rot";
Go to the top of the page
+Quote Post
scr1pt3r
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 27.08.2011
Skąd: Los Angeles

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


No a co powiedz o samej optymalizacji i sposobie na wyświetlenie tych tabel ? Dobry jest czy lepiej coś innego. Jak już się uczyć no to proffesionalnie wole, niż potem ma mi ktoś wypominać, że mam złą jakość kodu...
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Tak proste zadania ciężko "optymalizować" (IMG:style_emoticons/default/smile.gif) Spróbuj swoich sił z wypluciem danych rekursywnie zaczynając od dzieci kończąc na rodzicu - wtedy możemy pogadać o optymalizacji (IMG:style_emoticons/default/wink.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: 24.08.2025 - 19:45