Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Tablica i for
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Mam taki o to mały kodzik
  1. <script>var tablica = new Object();
  2. tablica["log"] = 0;
  3. tablica["conf"] = 0;
  4. tablica["favorit"] = 0;
  5. tablica["help"] = 0;
  6. tablica["friend"] = 0;
  7. for(i=0;i<5;i++){
  8. document.write(tablica[i]);
  9. }</script>
ale i w nim duży problem. Chodzi o to że zamist printować mi wartości elementów tablicy, printuje mi same undefined. Czy wie ktoś może jak temu zaradzić. Proszę o pomoc.
Go to the top of the page
+Quote Post
cros
post
Post #2





Grupa: Zarejestrowani
Postów: 164
Pomógł: 21
Dołączył: 21.08.2009

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


Cytat(Mlodycompany @ 19.06.2010, 10:59:33 ) *
Witam. Mam taki o to mały kodzik
  1. <script>var tablica = new Object();
  2. tablica["log"] = 0;
  3. tablica["conf"] = 0;
  4. tablica["favorit"] = 0;
  5. tablica["help"] = 0;
  6. tablica["friend"] = 0;
  7. for(i=0;i<5;i++){
  8. document.write(tablica[i]);
  9. }</script>
ale i w nim duży problem. Chodzi o to że zamist printować mi wartości elementów tablicy, printuje mi same undefined. Czy wie ktoś może jak temu zaradzić. Proszę o pomoc.

Bo tworzysz tablice z nazwami kluczy, a probojesz sie do niej odwolac na zasadzie tablica[1].
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


No tak, ale w PHP to działa więc stwierdziłem że tutaj też zadziała
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Bo nie tworzysz tablicy tylko obiekt - to new Object niczego Ci nie zasugerowało?

Jeżeli już chcesz iterować po wszystkich składowych obiektu skorzystaj ze składni foreach:
Kod
for(var key : myObject) {
     document.write(key + ": " + myObject[key]);
}


EDIT:
Cytat
No tak, ale w PHP to działa więc stwierdziłem że tutaj też zadziała
Pomijając fakt, że PHP udostępnia tablice asocjacyjne, a JS nie to w PHP też by to nie zadziałało.

Ten post edytował Crozin 19.06.2010, 10:08:50
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


To inaczej bo się nie rozumiemy. Chce wyprintować wartości tablicy. Jak to uczynić?
Cytat
EDIT:
Cytat
Cytat
No tak, ale w PHP to działa więc stwierdziłem że tutaj też zadziała

Pomijając fakt, że PHP udostępnia tablice asocjacyjne, a JS nie to w PHP też by to nie zadziałało.

W PHP by to zadziałało to caly czas tak robie.
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
To inaczej bo się nie rozumiemy. Chce wyprintować wartości tablicy. Jak to uczynić?
Jeżeli jest to normalna tablica to tworzysz z niej tablicę w JS:
Kod
var myArray = [1, 2, 3, "ala", "ma", "kota"];
Jeżeli jest to tablica asocjacyjna wtedy tworzysz sobie obiekt:
Kod
var myObject = {
  key1: "val1",
  key2: 12,
  key3: "val3"
}
Pomocne będzie json_encode.
Jeżeli masz tablicę mieszaną, tj. o indeksach numerycznych i tekstowych - to niepowinieneś takiej mieć winksmiley.jpg

Cytat
W PHP by to zadziałało to caly czas tak robie.
To masz chyba PHP w wersji 5.3-magic, który jest wstanie odczytać indeksy 0, 1, 2, 3, 4 z tablicy, która takich nie posiada. winksmiley.jpg
Go to the top of the page
+Quote Post
yevaud
post
Post #7





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


jak kolega wyzej napisal, zeby odwolac sie do wartosci takiej tablicy w php uzywasz foreach, a w js
[JAVASCRIPT] pobierz, plaintext
  1. for (var i in tablica)
  2. alert(tablica[i])
[JAVASCRIPT] pobierz, plaintext
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 Aktualny czas: 22.08.2025 - 06:52