Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Optymalizacja i iteracja tablicy wielowymiarowej.
Forum PHP.pl > Forum > Przedszkole
scr1pt3r
  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...
CuteOne
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";
scr1pt3r
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...
CuteOne
Tak proste zadania ciężko "optymalizować" 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 wink.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.