![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Co jest nie tak z drugim fragmentem kodu, że po var_dump($data) fragment pierwszy drukuje tak jak trzeba zawartość zmiennej a drugi NULL?
Pierwszy. Dobry
Drugi. Zły.
Mimo, że w konsoli przeglądarki po kolei wklepywany kod drugi zwraca to co trzeba
Ten post edytował twojastara 28.04.2015, 23:53:17 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
W pierwszym kodzie data to normalna zmienna, w drugim jest to tablica.
Wędka: http://stackoverflow.com/questions/9001526...x-to-php-script ![]() -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie [] a {} bo wrzucasz do tablicy klucze alfanumeryczne a nie indeksowane licznowo.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
nie [] a {} zamiast
to nie poszło
to nie poszło . zwróciło null
to nie poszło
var_dump() zwraca string '[]' (length=2)
var_dump() zwraca string '[]' (length=2)
tu coś wreszcie się pokazało (bez klucza, ale z wartością). var_dump zwraca array (size=1) 'key' => string '667' (length=3)
Ten post edytował twojastara 29.04.2015, 11:25:29 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Moglbys sie juz wreszcze poduczyc podstaw tablic i obiektow skoro sie za nie bierzesz...
NIe: data = { key: value}; a: data = {}; data[key] = value; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Zdaje sie pytasz o to w innym temacie... Moglbys sie juz wreszcze poduczyc podstaw tablic i obiektow skoro sie za nie bierzesz... NIe: data = { key: value}; a: data = {}; data[key] = value; Gdybyś przed zamknięciem drugiego temtu przeczytał go, to wiedziałbyś, że ajaxem chcę wysłać tablicę utworzoną w pętli z wieloma parami klucz=>wartość. Ten temat zawiera uproszczona wersję programu bez pętli. Co mi da wysłanie sugerowanej przez ciebie tablicy data[key] = value; skoro może ona pomieścić jeden element? W zamkniętym przez ciebie temacie napisałem, że poniższy kod (właśnie analogiczny to twojego data = {}; data[key] = value;
zwraca syntax error Uncaught SyntaxError: Unexpected token [ Masz rację, zrobiłem błąd, chciałem bez nauki jeżyka JavaScript użyć go w jednym małym fragmencie aplikacji opartym o Symfony. W tym momencie wiem, że straciłem na tej tej pierdółce tyle czasu, że szybciej przeczytałbym 2 ksiązki. Ale teraz jestem na takim etapie, że albo zrobie to dziś albo to odpuszczę, bo muszę pójść dalej. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To, ze w petli probujesz zrobic to co ja ci bodalem bez petli, to naprawde nie powod, by zakladac kolejny temat. Oba tematy zawierają to samo: nie potrafisz do obiektu wpisac indeksu będącego nazwą w zmiennej. Wiec o to, co ci juz podalem:
data[key] = value; nie ma znaczenia czy uzyjesz w petli czy bez petli. Tylko ma znaczenie by to tak zrobic, a ty tak nie robiles. I powtarzam jeszcze raz, bo widze lubisz czytac na szybko i przeaczac fakty, ze na poczatku ma byc deklaracja: data = {}; a nie data = []; Cytat W zamkniętym przez ciebie temacie napisałem, że poniższy kod (właśnie analogiczny to twojego data = {}; Oj nie nie... to nie bylo analogiczne. Kod jest krotki, postaraj sie samemu wylapac roznice bo są widoczne gołym okiem
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Zerknij, jak w js używać tablic http://www.w3schools.com/js/js_arrays.asp
-------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pal licho californication... szkoda tylko, ze uznales, ze skoro tamte madrale ci nie zwracają uwagi, to mozna ignorowac co piszą podnóżki z polskiego forum
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
Zerknij, jak w js używać tablic http://www.w3schools.com/js/js_arrays.asp oczywiście gapiłem się w tę stronę. Nie znajdziesz tam przykładu, w którym tablicę deklarowałoby się tak data = {}; by chwilę potem definiować ja tak: data['key'] = value; Pal licho californication... szkoda tylko, ze uznales, ze skoro tamte madrale ci nie zwracają uwagi, to mozna ignorowac co piszą podnóżki z polskiego forum ![]() żaden polski podnóżek wcześniej nie zwrócił mi na to uwagi, a tematów, poza tym, który zamknąłeś, było więcej z takim błędnym zapisem. pozdrawiam Ten post edytował twojastara 29.04.2015, 14:12:34 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja ci zwrocilem na to uwage w moim pierwszym poscie. Ale olałeś to całkowicie, wkoncu jestem tylko polskim podnóżkiem a nie fachurą z Kaliforni... Bardziej wolałeś skupić się na tym jak to ja niedobry zamknąłem ci temat niż na tym, co ci podałem jako odpowiedź... A odpowiedź była banalna i krótka, od dwie linijki kodu, ktore w 100% rozwiązywały Twój problem
Tak wiec na przyszłość: naprawde nie ma znaczenia, czy piszesz na stackoverflow czy na polskim forum. I tam i tu są fachury, i tam i tu niefachury i tam i tu są buraki. Przykładaj więc więcej uwagi co ludzie piszą a nie na to gdzie piszą ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Nie znajdziesz tam przykładu, w którym tablicę deklarowałoby się tak data = {}; by chwilę potem definiować ja tak: data['key'] = value; Hmm, a w "Arrays are Objects" kod Kod var person = {firstName:"John", lastName:"Doe", age:46}; Krócej niż Ty rozpisałeś, ot - tak od razu tablica z wartościami. -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.11.2014 Ostrzeżenie: (10%) ![]() ![]() |
no ale przyznasz, że taki profil robi wrażenie "A Dutch guy living and working in Cusco, Peru since 1998. At the moment in Fuengirola, Spain. Here my activities range from web-site design and development to travelling through Argentina, Chile, Bolivia and Peru as a tour guide. 56,218 REPUTATION" Kto jak nie Holender mieszkający w Peru powienien takie rzeczy wiedzieć. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@mar1aczi ale tak jak ty podajesz nie jestes w stanie stworzyc indeksu ze zmiennej. A tutaj caly czas mowa o indeksie ze zmiennej...
Cytat no ale przyznasz, że taki profil robi wrażenie wow... normalnie spadlem z krzesla...Cytat Kto jak nie Holender mieszkający w Peru powienien takie rzeczy wiedzieć. Np. ja, moderator, ktory zamknal Twoj temat całkowicie słusznie.Powtarzam: czytaj co ci ludzie piszą, niezależnie czy to stackoverflow czy nie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
@mar1aczi ale tak jak ty podajesz nie jestes w stanie stworzyc indeksu ze zmiennej. Tak, prawda. Chodziło mi o sam sposób deklaracji tablicy przy użyciu {} i jak jest indeksowana (jak jej używać). Na stronie, którą podałem jest nawet przykład jak się odwoływać do elementów takiej tablicy. -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
ku uściśleniu
[] ---> to jest tablica {} ---> to jest obiekt. Każda tablica jest również obiektem, bo JS jest językiem obiektowym i większość rzeczy to obiekty. Natomiast nie każdy obiekt jest tablicą. Jak przypiszesz do zmiennej coś takiego {}, czy {cosTam: 334} itp. to nie będzie to wcale żadna tablica, a obiekt. W JavaScripcie. Bo w PHP istniałoby coś takiego jak tablica asocjacyjna, w JS nie ma tablic asocjacyjnych, za to są obiekty. Więc zapis
powinien działać, tyle, że będzie działał pewnie niekoniecznie tak jakby chciał programista (jeśli się nie rozumie jak to działa do końca) Tzn. jeśli klucz (wartośc zmiennej elementy[0].name) jest liczbą to będzie to zapis tablicowy (bo zmienna data jest tablicą, bo została tak zadeklarowana: [] ), ale jeśli klucz jest stringiem, to tak naprawdę olewamy już tablicowość zmiennej data i odwołujemy się do zmiennej data jako do obiektu, dodając/zmieniając jego właściwości (innymi słowy data['nazwa'] to jest to samo co data.nazwa). Nie jest to jednak to samo, jak dodajemy właściwości do obiektu data, to nie działa właściwość length (bo niby czemu ma działać: http://jsfiddle.net/4Lfnwc8e/ Ten post edytował PrinceOfPersia 29.04.2015, 21:22:08 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 23:48 |