Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tablica dwuwymiarowa
son
post 19.11.2005, 17:12:38
Post #1





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Znalazłem informację, że tablicę dwuwimiarowę w javascript deklaruje się tak:

Kod
a = new Array(4)
for (i=0; i < 4; i++) {
   a[i] = new Array(4)
   for (j=0; j < 4; j++) {
      a[i][j] = "["+i+","+j+"]"
   }
}


Niestety nie było opisu, a ja nie wiem tylko gdzie mam wpisać moje dane worriedsmiley.gif


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
ghostrider
post 19.11.2005, 17:15:19
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


Cytat
a[i][j] = "tutaj ?";


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
son
post 19.11.2005, 17:17:12
Post #3





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


No dobrze, ale w takim wypadku tablica będzie zawierała 16 identycznych wpisów. Ja chcę, żeby każdy wpis był inny i problem w tym, że nie wiem gdzie te 16 wpisów zadeklarować.

Ten post edytował son 19.11.2005, 17:17:33


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
ghostrider
post 19.11.2005, 17:18:41
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


może napisz co ty tam chcesz wpisywac, ja nie bardzo rozumiem o co ci biega.


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
son
post 19.11.2005, 17:23:55
Post #5





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Zobacz:
Tablica jest dwuwymiarowa, czyli wygląda jak prostokąt. W moim przypadku tablica jest wymiarów 4x4 z tego wynika, że może pomieścić 16 rekordów. Ja chcę tam zapisać np. takie dane:

1a 1b 1c 1d
2a 2b 2c 2d
3a 3b 3c 3d
4a 4b 4c 4d

Powiedz mi teraz jak mam to zadeklarować...


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
ghostrider
post 19.11.2005, 17:31:33
Post #6





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


zobacz:
Kod
var rows = 4;
var cols = 4;
var matrix = new Array();
var litery = new Array('a', 'b','c','d');
var liczby = new Array('1','2','3','4');

for (var r=0; r<=rows; r++){
    matrix[r] = new Array();
    for (var c=0; c<=cols; c++) {
  //matrix[r][c] = "rząd: " + r+1 +","+ "kolumna: " + c+1;
matrix[r][c] = liczby[r] + "" + litery[c]
    }
}

document.write(matrix[0][3]);

to tworzy dwuwymiaraowa tablice, pierwszy index to rzedy, drugi to columny,
wiec: aby odczytac wartość powiedzmy: rzad 3, columna 2

Kod
document.write(matrix[2][1]);


indexy nadawane sa od 0 (zera), stąd te przesunięcia w liczbach, edytowałem tak zeby ci wrzuciło co chaciałeś.

Ten post edytował ghostrider 19.11.2005, 17:36:43


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
son
post 19.11.2005, 17:34:29
Post #7





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Widzisz różnicę między odczytem a zapisem?


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
ghostrider
post 19.11.2005, 17:38:52
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


Cytat
  Widzisz różnicę między odczytem a zapisem?


nie bardzo rozumiem, chodzi ci o to jak cięzko zapiac wielowymiarową tablice, tak jest ciezko, ale sa cieższe rzeczy do napisania w JS, bardzo cięzkie, ale możliwe.

1,5 roku temu miałem klienta który za cholere nie chciał słyszec o cenie serwera php/mysql, napisałem wtedy e-sklep tylko w JS, działał rok(exclamation.gif) dopiero potem zauważyl jak to fajnie miec baze danych klientów.

Ten post edytował ghostrider 19.11.2005, 17:45:12


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
son
post 19.11.2005, 22:12:13
Post #9





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Czy ktoś zna odpowiedź na moje pytanie?


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
ghostrider
post 20.11.2005, 12:33:01
Post #10





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


kiedy już stworzysz tablice możesz tez przypisywać wartości:

Kod
matrix[0][2] = "cos tam";


napisz funckcje tworzacą tablice o zadanych wymiarach i przypisuj co chcech, gdzie chcesz.
Kod
function multi_array(rows, cols){
var matrix = new Array();
for (var r=0; r<=rows; r++){
matrix[r] = new Array();
for (var c=0; c<=cols; c++) {
matrix[r][c] = "";
}
return matrix;
}

var my_array = multi_array(7,8);
my_array[0][2] = "moja wartosc";
my_array[1][4] = 4;


cały czas mam wrazenie ze jest cos w twoim toku myslenia nie łapie winksmiley.jpg


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
son
post 20.11.2005, 19:20:49
Post #11





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Czy to jednyna metoda zapisywania danych do tablicy dwuwymiarowej? Przy zwykłych tablicach wygląda to o wiele lepiej, bo dane można zapisywać po przecinku:
Kod
Tablica=new Array("010400", "9b3000", "333300", "003301", "053265", "000082", "33339a", "323331");

Czy do tablicy dwuwymiarowej też można w ten sposób zapisywać rekordy? (tzn. jeden po drugim, po przecinku, a nie za każdym razem pisać adres tej talbicy i dopiero potem wartość)


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post
FiDO
post 20.11.2005, 19:30:48
Post #12





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Kod
var tab = [
   ['1a', '1b', '1c', '1d'],
   ['2a', '2b', '2c', '2d'],
   ['3a', '3b', '3c', '3d'],
   ['4a', '4b', '4c', '4d']
];

O cos takiego Ci chodzi ?


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
son
post 20.11.2005, 19:51:38
Post #13





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 31.01.2004
Skąd: Kraków

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


Cytat(FiDO @ 2005-11-20 19:30:48)
Kod
var tab = [
  ['1a', '1b', '1c', '1d'],
  ['2a', '2b', '2c', '2d'],
  ['3a', '3b', '3c', '3d'],
  ['4a', '4b', '4c', '4d']
];

O cos takiego Ci chodzi ?

Wielkie dzięki. Od początku o to mi chodziło biggrin.gif


--------------------
Warsztat: Apache 1.3.36 | MySQL 4.1.19 | php 5.1.4 | OS Linux SUSE 10.3 x86_64 | Kernel 2.6.22.12-0.1 | Opera 9.5 | Kate
Na warsztacie: Ekartki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:02