mehrdimensionales array aus einem String erzeugen ....

mehrdimensionales array aus einem String erzeugen ....

am 19.06.2006 14:12:49 von Jens Schneider

Hallo @Zusammen,

wer kann mir verraten wie ich einen String:

"pfadA.pfadB.pfadC.pfadD"

zu einer folge von Arrays bekommen, ungefähr so:

Pfads[
pfadA[
pfadB[
pfadC[
pfadD[value] = xyz;
]
]
]
]

Mit nem Tip oder so wäre ich auch schon zufrieden :-)

Danke.
Gruß Jens

Re: mehrdimensionales array aus einem String erzeugen ....

am 19.06.2006 14:35:57 von Frank Schenk

Jens Schneider wrote:
> Hallo @Zusammen,
>
> wer kann mir verraten wie ich einen String:
>
> "pfadA.pfadB.pfadC.pfadD"
>
> zu einer folge von Arrays bekommen, ungefähr so:
>
> Pfads[
> pfadA[
> pfadB[
> pfadC[
> pfadD[value] = xyz;
> ]
> ]
> ]
> ]
>
> Mit nem Tip oder so wäre ich auch schon zufrieden :-)

Kannst haben:

explode() ¹
foreach() ¹


gruß, Frank


¹ Siehe Handbuch: http://www.php.net

Re: mehrdimensionales array aus einem String erzeugen ....

am 19.06.2006 16:48:42 von Jens Schneider

> Kannst haben:
>
> explode() ¹
> foreach() ¹
>
>
Hi Frank,
danke für den Tip. *freu*

Mein Fehler, das zerlegen des Strings ist nicht das Problem, auch nicht das
abfahren mit foreach, vielmehr das erzeugen der Arrays. Ich bekomme immer
nur das letzte Array, aber niemals den Anfang der Schlange :-)
Gruß Jens

Re: mehrdimensionales array aus einem String erzeugen ....

am 19.06.2006 17:31:25 von Knut Kohl

Jens Schneider schrieb am 19. Jun 2006 in de.comp.lang.php.misc:

> Hallo @Zusammen,

> wer kann mir verraten wie ich einen String:

> "pfadA.pfadB.pfadC.pfadD"

> zu einer folge von Arrays bekommen, ungefähr so:

> Pfads[
> pfadA[
> pfadB[
> pfadC[
> pfadD[value] = xyz;
> ]
> ]
> ]
> ]

> Mit nem Tip oder so wäre ich auch schon zufrieden :-)

Auf die Schnelle...

$path = "pfadA.pfadB.pfadC.pfadD";
$result = array();
$pointer =& $result;

$arr = explode('.',$path);

foreach ($arr as $p) $pointer =& $pointer[$p];
$pointer['value'] = 'xyz';

echo '

';
print_r($result);
echo '
';


> Danke.
> Gruß Jens

Knut

--
Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet

Re: mehrdimensionales array aus einem String erzeugen ....

am 20.06.2006 09:08:55 von Jens Schneider

> Auf die Schnelle...
>
> $path = "pfadA.pfadB.pfadC.pfadD";
> $result = array();
> $pointer =& $result;
>
> $arr = explode('.',$path);
>
> foreach ($arr as $p) $pointer =& $pointer[$p];
> $pointer['value'] = 'xyz';
>
> echo '

';
> print_r($result);
> echo '
';
>
>
> > Danke.
> > Gruß Jens
>
> Knut
>

Hallo Knut,
so liebe ich das Programmieren. Gleich in welcher Sprache, die Lösung ist
meistens einfacher als was man denkt :-)
Fettes Danke für die Antwort.
Jens

Re: mehrdimensionales array aus einem String erzeugen ....

am 20.06.2006 11:20:52 von Frank Schenk

Jens Schneider wrote:
>
> Hallo Knut,
> so liebe ich das Programmieren. Gleich in welcher Sprache, die Lösung ist
> meistens einfacher als was man denkt :-)
> Fettes Danke für die Antwort.
> Jens

Und was von dem fertigen Beispiel hast du verstanden? Inwiefern bringt
es dich weiter mit deinen PHP Fertigkeiten?


meinjanur

Frank

Re: mehrdimensionales array aus einem String erzeugen ....

am 20.06.2006 13:31:05 von Knut Kohl

Frank Schenk schrieb am 20. Jun 2006 in de.comp.lang.php.misc:

> Und was von dem fertigen Beispiel hast du verstanden? Inwiefern bringt
> es dich weiter mit deinen PHP Fertigkeiten?

Ich hoffe, er hat das Prinzip des "Pointers" (aus anderen Hochsprachen
"nachgebaut") verstanden, dass man sich damit super z.B. in einem Array
entlang hangeln kann...

> meinjanur
hoffjanur ;-)

> Frank

Knut

--
Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet