Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4352
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: PHP Array zusammensetzen anhand von Strings (keys) |
| Date | 2018-04-10 14:21 +0200 |
| Message-ID | <fj3oi2FqtikU1@mid.individual.net> (permalink) |
| References | (1 earlier) <fj3eseFonipU1@mid.individual.net> <pai145$inp$1@news.albasani.net> <fj3i7dFpfmkU1@mid.individual.net> <pai4j0$bcj$1@news.albasani.net> <pai5sv$95g$1@news.albasani.net> |
Jan Novak schrieb:
> Am 10.04.18 um 12:45 schrieb Klaus Ketelaer:
>>
>> Ich vermute mal, er sucht etwas in der Art von
>>
>> function meineFunktion($meinKey) { $meineKeys =
>> explode('.',$meinKey);
>>
>> return $Test[$meineKeys[0]],[$meineKeys[1]][$meineKeys[2]]; }
>
>
> Ja so in etwa. Sorry, aus eigener Sicht ist immer alles "ganz klar"
> :-)
>
> Dein Code ist statisch. Ich kenne aber die Anzahl der Keys nicht. In
> dem obigen Beispiel sind es 3, es könnten aber auch mehr oder
> weniger sein. Deshalb meine Frage nach dem "zusammensetzen" anhand
> der Keys als String.
>
> Hier ein Beispiel eines arrays:
>
> $test = [
> 'MASK' => [
> 'login' => [
> 'welcome' => 'hallo',
> 'name' => 'ein name',
> ],
> 'test' => [
> 'bla' => [
> 'blub' => "was auch immer",
> ],
> ],
> ];
> ein Aufruf wäre also zum Beispiel
>
> meineFunktion("MASK.login.welcome")
>
> ein anderer eben
>
> meineFunktion("MASK.test.bla.blub")
>
> Letztendlich ist meine Frage: Wie bekomme ich aus z.B. dem String
> "MASK.test.bla.blub" den Wert "was auch immer" zurück über die
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Was ja nun wieder kein Key, sondern ein Value (Wert) in deinem Beispiel
ist. Einige dich bitte mal auf die Begriffe ;-). Jetzt ist die
Fragestellung zwar klarer, aber andersrum als zu Anfang.
Ich werde das Gefühl nicht los, dass dein Lösungsansatz schon in puncto
Datenstruktur irgendwie unpraktikabel ist, um es mal vorsichtig
auszudrücken. Dreh doch mal spaßeshalber deine Idee rum und drücke deine
beiden Beispiele oben (beide Komponenten von $test = ...) in
gleichartigen Aufrufen von meineFunktion() aus. Du wirst ein Problem
finden, stimmts? Die Teilarrays MASK[] und test[] haben unterschiedliche
Struktur und könnten noch viel komplizierter sein - sowas lässt sich
vielleicht gar nicht über einen einfachen String "MASK.test.bla.blub"
abbilden.
Wozu auch? Warum übergibst du nicht einfach gleich den gesuchten
Array-Key und gibst, sofern vorhanden, den Wert zurück? Dann könntest du
auch gleich die ganze Funktion weglassen :-) und direkt auf den Wert
zugreifen, sofern er existiert...
Ralph
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
PHP Array zusammensetzen anhand von Strings (keys) Jan Novak <repcom@gmail.com> - 2018-04-10 11:06 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Ralph Stahl <post@rstahl.de> - 2018-04-10 11:36 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Jan Novak <repcom@gmail.com> - 2018-04-10 11:45 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Ralph Stahl <post@rstahl.de> - 2018-04-10 12:33 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Klaus Ketelaer <noreply@spambouncer.de> - 2018-04-10 12:45 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Jan Novak <repcom@gmail.com> - 2018-04-10 13:07 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Ralph Stahl <post@rstahl.de> - 2018-04-10 14:21 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Niels Braczek <nbraczek@bsds.de> - 2018-04-10 14:04 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Jan Novak <repcom@gmail.com> - 2018-04-10 15:01 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-11 02:20 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Niels Braczek <nbraczek@bsds.de> - 2018-04-11 13:37 +0200
Re: PHP Array zusammensetzen anhand von Strings (keys) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2018-04-12 04:18 +0200
csiph-web