• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] String in mehrdimensionales Array

Bert2015

New member
Hallo,

ich habe einen String
0*pi=297|0*bkanz=ja|0*sh=E D|1*pi=317|1*bkanz=nein|1*sh=uvb|2*pi=512|2*bkanz=ja|2*sh=A Z
den ich gerne in ein Array folgender Art umschreiben würde:
HTML:
meinarray[0]["pi"] = 297;
meinarray[0]["bkanz"] = "ja";
meinarray[0]["sh"] = "E D";
meinarray[1]["pi"] = 317;
meinarray[1]["bkanz"] = "nein";
usw.

Irgendwie steh ich gerade auf der Leitung und krieg's nicht hin. Kann mir jemand helfen? :)

Danke und schöne Grüße,
Bert
 
Zuletzt bearbeitet von einem Moderator:
Hi,
du kommst ja hier mit Knobelaufgaben am frühen Abend. Bin ein wenig aus der Übung, das sollte so aber klappen, wenn auch nicht ganz optimal:
Code:
s = '0*pi=297|0*bkanz=ja|0*sh=E D|1*pi=317|1*bkanz=nein|1*sh=uvb|2*pi=512|2*bkanz=ja|2*sh=A Z ';

r = [];
a = s.split('|');
for(var i in a) {
  var w=a[i].split('*');
  var j = w[0];
  if(!r[j]) r[j] = [];
  var wg = w[1].split('=');
  r[j][wg[0]] = wg[1];
}
console.dir(r);

LG jspit

Edit 04.05.2015: HTML -> CODE -Tag
 
Zuletzt bearbeitet:
Hi,

ja, einfach kann ja jeder. ;)
Und ich brauche eigentlich JavaScript (sorry, vergaß ich zu erwähnen). Aber das Sagenhafte: Dein Code funktioniert ganz wunderbar - auch in JavaScript! Vielen lieben Dank!!!

Schöne Grüße,
Bert
 
Bert, das ist JS. Oder in welcher Sprache gibt es noch console.dir(r);?
console.dir(r); hab ich weggelassen, weil's mir nichts gesagt hat und über dem Code stand "PHP-Code:" deshalb habe ich mal pfeilgrad auf PHP geschlossen. ;)

Vielleicht hast du das auch übersehen, weil du die Konsole garnicht offen hast?
http://forum.jswelt.de/javascript-faq/59953-arbeiten-konsole.html

Ah, welch Erleuchtung! Kannte ich bis jetzt noch nicht. Danke für den Hinweis!! Wie klasse.

Schöne Grüße,
Bert
 
kkapsner schrieb:
[nopaser]
PHP:
[/noparse][/QUOTE]
Das ist ja cool, habsch noch nicht gewusst da sowas geht.  Syntaxhighlighting wäre echt mal eine Bereicherung fürs Forum.

Was mir auch noch in den sinn kommt (das wollte ich schon seit dem Julian weg ist mal an mikdoe schreiben):
Ist ein großes Problem die Flash Kategorie wegzuradieren und durch nodejs zu ersetzen? Weil Flash nutzt keiner mehr und es gibt noch kein Deutschsprachiges Forum für node, außerdem ist node so ein Thema für sich und ich weiß selber nicht wo ich denn die Fragen gleich hinschreiben soll. 

Ich will kein Feuer entfachen oder so, ist mir nur mal eben eingefallen und kann per PN weiter besprochen werden.
 
Manche verwenden hier immer [nopaser]
PHP:
[/noparse], weil es ein Syntaxhighlighting macht... [/QUOTE]

Genau. Und das mache ich schon über Jahre so. Ist aber das erste mal, das jemand hier glaubt das ist PHP-Code der auch 1:1 als Javascript läuft. 
[QUOTE]
Aber das Sagenhafte: Dein Code funktioniert ganz wunderbar - auch in JavaScript! 
[/QUOTE]

Doch statt php dann HTML-Tags für js zu nehmen, das geht gar nicht. Sorry mikdoe. Hab es nochmal geändert.
 
Ich hätt da nochmal ein Problemchen zum urpsprünglichen Problem:
Code:
s = '0*pi=297|0*bkanz=ja|0*sh=E D|1*pi=317|1*bkanz=nein|1*sh=uvb|2*pi=512|2*bkanz=ja|2*sh=A Z ';

r = [];
a = s.split('|');
for(var i in a) {
  var w=a[i].split('*');
  var j = w[0];
  if(!r[j]) r[j] = [];
  var wg = w[1].split('=');
  r[j][wg[0]] = wg[1];
}
console.dir(r);
funktioniert prima. Aber sobald ich den String irgendwo auslese, z.B. mit s= $("div#infodiv").text(); geht's nicht mehr.
Irgendjemand 'ne Ahnung woran es liegt? Oder steh ich nur auf der Leitung?

Danke im voraus!
Liebe Grüße,
Bert
 
Zurück
Oben