Forums

JS multidimensionale array doorgeven aan PHP

Me1000

originele poster
15 juli 2006
  • 3 februari 2009
Draadloos gepost (Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 zoals Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, zoals Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20)

Ik heb een multi-dim array in Javascript
Code: |_+_| Ik moet de array doorgeven aan PHP (waarschijnlijk met een Ajax-aanroep)
Ik heb het jQuery-framework geladen om mee te werken.

Wat zou de beste manier zijn om de array door te geven aan PHP?

Bedankt

angelwatt

emeritus moderator
16 aug. 2005
TOEPASSINGEN


  • 3 februari 2009
Kunt u de lengte en het type informatie in de array voor beide dimensies nader toelichten? Het kan sommigen van ons op ideeën brengen over de beste aanpak.

Toevoeging: Enkele kleine fragmenten. Voorbeeld gebruikt een 2x3 array.
PHP: |__+_|

Me1000

originele poster
15 juli 2006
  • 3 februari 2009
Beide dims bevatten een kleine tekststring.
De eerste is een bestandsnaam.
De tweede is een bijschrift voor het bestand dat in de eerste dim wordt genoemd.

Ik zal morgen verder naar je code kijken, bedankt voor de hulp!
:appel:

angelwatt

emeritus moderator
16 aug. 2005
TOEPASSINGEN
  • 4 februari 2009
Me1000 zei: Beide dims bevatten een kleine tekststring.
De eerste is een bestandsnaam.
De tweede is een bijschrift voor het bestand dat in de eerste dim wordt genoemd.

Ik zal morgen verder naar je code kijken, bedankt voor de hulp!
:appel:

Zolang die strings geen komma's bevatten, denk ik dat mijn code een goede voorsprong zou moeten geven. Ik heb niet alles gegeven wat je nodig hebt, maar als je meer begeleiding of verduidelijking nodig hebt, laat het me dan weten.

En als iemand anders nog ideeën heeft, deel ze gerust. Ik heb zojuist het eerste idee dat in me opkwam naar voren gebracht.

Me1000

originele poster
15 juli 2006
  • 4 februari 2009
Ik zag mensen komma's gebruiken in het bijschrift...

angelwatt

emeritus moderator
16 aug. 2005
TOEPASSINGEN
  • 4 februari 2009
Me1000 zei: ik zag mensen komma's gebruiken in het bijschrift...

Hm, goed gesprek. Een alternatief is dan om de arraywaarden te scheiden met iets anders dan de komma. Er zou dus een nieuwe functie moeten worden gemaakt om te gebruiken in plaats van de functie toString() die de array-elementen samenvoegt. Gebruik misschien '|' of een ongewoon gebruikt teken of je zou een paar tekens kunnen gebruiken, bijvoorbeeld '|@|'. Als je de tekenreeks explodeert, voer je in de PHP in welk(e) teken(s) je als scheidingsteken hebt gebruikt.

Is dat iets wat je kunt doen of heb je begeleiding nodig?

Me1000

originele poster
15 juli 2006
  • 4 februari 2009
oke dit is wat ik bedacht...
Code: |_+_|
Ik geef de a-string door aan het php-bestand

Code: |_+_| Dat is misschien niet mijn laatste code om het naar het php-bestand te sturen, maar op dit moment is dat het gemakkelijkst om mee te werken.

probleem is,
mijn url ziet er ongeveer zo uit:
Code: |_+_|
Dat 'ongedefinieerde' deel in het begin veroorzaakt een probleem bij het ontleden van de gegevens.

Enig idee waarom dat gebeurt?

als ik bel
Code: |_+_| het geeft het juiste resultaat weer, dus ik weet dat mijn originele array goed is

angelwatt

emeritus moderator
16 aug. 2005
TOEPASSINGEN
  • 4 februari 2009
Yup, in je for-lus heb je string = string + ..., maar string wordt niet de eerste keer gedeclareerd. Net voor de for-lus wanneer u de tekenreeksvariabele declareert, stelt u deze in op '', zodat deze een startwaarde heeft.

Je hebt waarschijnlijk ook een dubbele for-lus nodig, omdat je met een multidimensionale array wilt werken.

Me1000

originele poster
15 juli 2006
  • 4 februari 2009
boog!

Dank je voor je hulp.


De laatste javascript-code waarmee ik eindigde, voor degenen onder u die geïnteresseerd zijn:

Code: |_+_|

savar

6 juni 2003
District of Columbia
  • 4 februari 2009
Het lijkt erop dat je het doorhebt, maar misschien wil je ook wat onderzoek doen naar JSON.

Met JSON (Javascript Object Notation) kunt u javascript-objecten coderen in een compacte notatie die over de draad kan worden verzonden. De meeste andere talen hebben bibliotheken om deze JSON in native objecten te parseren. Ik weet zeker dat als je het onderzoekt, je een beter idee krijgt van wat ik bedoel.