Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Tablica wielowymiarowa odczytanie ostatniego elementu w głąb
Forum PHP.pl > Forum > Przedszkole
set4812
Więc tak mam taką tablice
Kod
array
{
   [name]= "xxx"
   [values]= Array
                [0]=> Array
                         {
                               [name]= "xxx"
                               [values]= Array
                                {
                                           [0]=> Array
                                                  i tak dalej w głąb


Jest jakiś prosty sposob żeby odczytać ostatnią wartość w głąb? Czasem mam roznie co do glebokości a chce konkretnie ostani element wziasc?
MOże napisze inaczej jak dla tych co nie rozumieją. Jak dostać się do liścia drzewa do określonej gałęzi values do jej liścia values
jacobson
prosta rekurencja np :

  1. $temp = array(
  2. 'name' => 1,
  3. 'values' => array(
  4. 'name' => 2,
  5. 'values' => array(
  6. 'name' => 3,
  7. 'values' => array(
  8. 'name' => 4
  9. )
  10. )
  11. )
  12. );
  13.  
  14. $value = $this->rec($temp, 0);
  15.  
  16. function rec($array, $depth){
  17. if($depth == 0)
  18. return $array['name'];
  19.  
  20. return $this->rec($array['values'], $depth-1);
  21. }
okazwloka
A jak odczytać wartość np. ask w tablicy w której znajduje się symbol = AA dla tego typu tablicy nie używając numerów tablic?

  1. array(4) {
  2. [0]=>
  3. array(3) {
  4. ["symbol"]=>
  5. string(3) "AA"
  6. ["bid"]=>
  7. float(0.0028)
  8. ["ask"]=>
  9. float(0.0028)
  10. }
  11. [1]=>
  12. array(3) {
  13. ["symbol"]=>
  14. string(3) "BB"
  15. ["bid"]=>
  16. float(0.02)
  17. ["ask"]=>
  18. float(0.02)
  19. }
  20. [2]=>
  21. array(3) {
  22. ["symbol"]=>
  23. string(3) "CC"
  24. ["bid"]=>
  25. float(0.0027)
  26. ["ask"]=>
  27. float(0.0027)
  28. }
  29. [3]=>
  30. array(3) {
  31. ["symbol"]=>
  32. string(3) "DD"
  33. ["bid"]=>
  34. float(0.003)
  35. ["ask"]=>
  36. float(0.003)
  37. }
  38. }
jacobson
tutaj zwykly foreach wystarczy

  1. foreach($tablica as $rekord){
  2. if($rekord['symbol'] == 'AA'){
  3.  
  4. tutaj robisz co chcesz z tymi wartosciami czyli np przypisujesz do zmiennej
  5.  
  6. }
  7. }
okazwloka
Super dzieki 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.