Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Java]Tablice wielowymiarowe
Forum PHP.pl > Forum > Przedszkole
bliitz
Witam

Mam takie oto tablice wielowymiarowe w Javie:
Kod
int ScrambleAddTable[][] = {
         {
             5, 3, 3, 6
         }
     };
     int ScrambleTable[][][] = {
         {
             {
                 2, 4, 1, 6, 9, 3, 3, 2
             }, {
                 2, 6, 2, 1, 4, 8, 9, 5
             }, {
                 2, 2, 3, 9, 1, 9, 7, 9
             }, {
                 4, 8, 6, 4, 3, 9, 3, 6
             }
         }
     };


w jaki sposób zapisać je w php?
Próbowałem czegoś takiego:

  1. public $ScrambleAddTable = array( array( 5, 3, 3, 6 ) );
  2.  
  3. public $ScrambleTable = array(
  4. array( 2, 4, 1, 6, 9, 3, 3, 2 ), array( 2, 6, 2, 1, 4, 8, 9, 5 ), array( 2, 2, 3, 9, 1, 9, 7, 9 ), array( 4, 8, 6, 4, 3, 9, 3, 6 )
  5. )
  6. );


ale to chyba nie to, inne pomysły nie przychodzą mi do głowy.
flashdev
  1. public $ScrambleTable = array(
  2. array( 2, 4, 1, 6, 9, 3, 3, 2 ),
  3. array( 2, 6, 2, 1, 4, 8, 9, 5 ),
  4. array( 2, 2, 3, 9, 1, 9, 7, 9 ),
  5. array( 4, 8, 6, 4, 3, 9, 3, 6 )
  6. );
taktu
wywal słowo public i zadziała smile.gif
bliitz
czy nie jest teraz ona dwu zamiast trzy wymiarowa?
flashdev
Cytat(bliitz @ 10.09.2009, 13:53:45 ) *
czy nie jest teraz ona dwu zamiast trzy wymiarowa?


Jest, być moze źle zrozumiałem Twój problem.

Możesz użyć instrukcji var_dump ze zmienną w parametrze, aby zobaczyć całą jej (obiektu, tablicy itp.) strukturę.

Cytat(bliitz @ 10.09.2009, 13:44:17 ) *
Kod
int ScrambleTable[][][] = {
         {
             {
                 2, 4, 1, 6, 9, 3, 3, 2
             }, {
                 2, 6, 2, 1, 4, 8, 9, 5
             }, {
                 2, 2, 3, 9, 1, 9, 7, 9
             }, {
                 4, 8, 6, 4, 3, 9, 3, 6
             }
         }
     };


Co do Twojego kodu w javie nie widzę sesnsu stosowania tutaj tablicy 3-wymiarowej.
I tak w zasadzie definiujesz tablicę 2-wymiarową.
Czy w javie nie jest tak jak w C++, że jeśli w nawiasie (klamrowym) nie podasz ilosci rozmiaru tablicy, to domyślnie dobierany wymiar to ilość podanych elementów?
Jeśli tak właśnie jest, to ta tablica mimo iż ma trzy wymiary nadal będzie użyteczna tylko jako dwuwymiarowa.
bliitz
Cytat(flashdev @ 10.09.2009, 15:43:00 ) *
Jest, być moze źle zrozumiałem Twój problem.

Możesz użyć instrukcji var_dump ze zmienną w parametrze, aby zobaczyć całą jej (obiektu, tablicy itp.) strukturę.



Co do Twojego kodu w javie nie widzę sesnsu stosowania tutaj tablicy 3-wymiarowej.
I tak w zasadzie definiujesz tablicę 2-wymiarową.
Czy w javie nie jest tak jak w C++, że jeśli w nawiasie (klamrowym) nie podasz ilosci rozmiaru tablicy, to domyślnie dobierany wymiar to ilość podanych elementów?
Jeśli tak właśnie jest, to ta tablica mimo iż ma trzy wymiary nadal będzie użyteczna tylko jako dwuwymiarowa.


problem w tym że odwołuje się do tej tablicy przykładowo w pętli for w następujący sposób

  1. for( $dig0 = $dig0 + $this->ResultArray[ $i ] + $this->ScrambleTable[ $MachIdx ][ $DayIdx ][ $i ]; $dig0 >= 10; )


i otrzymuje komunikat
Notice: Undefined offset: 3 in

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.