Veröffentlicht 21. März 201213 j Hallo, ich wollte ein kleines Programm schreiben, das mir die Namen für ein assoziatives Array zurückliefert. Also die Namen, mit dem ich das Array anspreche. Z. B. $satz[id] Anders ausgedrückt: Ich weiß die Namen nicht, brauche sie aber. Ich habe mir dazu folgenden Regulären Ausdruck ausgedacht: \[.+\] Es muss also die öffnende eckige Klammer, mindestens ein beliebiges Zeichen und die schließende eckige Klammer kommen. Das Code Snippet dazu sieht bis jetzt so aus: $print = print_r($satz, true); // Nach Namen der Spalten spliten $satzsplit[] = preg_split("\[.+\]", $print); foreach ($satzsplit as $strname) { // Klammer auf und Klammer zu herausfiltern $name = substr($strname, 1, strlen($strname) - 1); // tue irgendwas } [/PHP] Leider funktioniert es (noch) nicht. Ich habe schon danach gegoogelt. Es hieß, ich solle am Anfang und am Ende einen Slash machen (/). Wenn ich das tue, kommt zwar keine Fehlermeldung mehr, aber es liefert mir auch nicht das zurück, was ich wollte. MFG derwunner
21. März 201213 j Mach es dir doch nich so kompliziert und deklarier den Namen der Variable seperat und danach erst weißt du sie dem Array zu. $array_name = 'satz'; ${$array_name} = array( 'id1' => 'asd1', 'id2' => 'asd2', 'id3' => 'asd3', 'id4' => 'asd4'); foreach($arr as $key => $value) { echo $array_name.'['.$key.']'."\r\n"; } [/PHP] Bearbeitet 21. März 201213 j von ins0
21. März 201213 j Autor Aha, danke. Ich habe mich schon immer gefragt, was die key Variable im Schleifenkopf soll. Jetzt weiß ichs endlich. Thema geklärt :-)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.