mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 15:37 Benutzername: Passwort: Auto-Login

Thema: [PHP] array: schlüssel und werte ändern? vom 14.06.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] array: schlüssel und werte ändern?
Autor Nachricht
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Mi 14.06.2006 16:08
Titel

[PHP] array: schlüssel und werte ändern?

Antworten mit Zitat Zum Seitenanfang

moin,

ich habe folgendes array:
Code:
array{
  ["0"] => "?foo 1?bar 1?"
  ["1"] => "?foo 2?bar 2?"
  ["2"] => "?foo 3?bar 3?"
...
}


und möchte daraus machen:
Code:
array{
  ["bar 1"] => "foo 1"
  ["bar 2"] => "foo 2"
  ["bar 3"] => "foo 3"
...
}


hat jemand ne idee wie ich das angehen könnte?

sry wegen doppelpost
aber ich komme einfach nicht weiter

hab mir gedacht, das könnte so funktionieren:

Code:
foreach ($ArrOld as $values) {
          $key = substr($values, 1, strpos($values, '?', 1)-1).'?';
          $value = substr($values, strlen($key)+2, strlen($values)-strlen($key)-3).'?';
}

$key = explode('?', $key);
$value = explode('?', $value);

for($i=0; $i<=count($key)-1; $i++){
          $ArrNew = array($key[$i] => $value[$i]);
}


tuts aber nicht *Schnief*

hilfe bitte!

[edit]
Bitte edit verwenden.


Zuletzt bearbeitet von tacker am Mi 14.06.2006 17:44, insgesamt 1-mal bearbeitet
 
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Mi 14.06.2006 17:47
Titel

Antworten mit Zitat Zum Seitenanfang

Also erstmal eine Verwarnung wegen Doppelpostings! Da gibts so ne Funktion:


Dann:
Code:
foreach ($old as $k => $v) {
    if (!preg_match('/^?(foo [0-9]+)?(bar [0-9]+)?$/', $v, $match)) continue;
    $new[$match[2]] = $match[1];
}
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Fr 16.06.2006 14:44
Titel

Antworten mit Zitat Zum Seitenanfang

tacker hat geschrieben:
Also erstmal eine Verwarnung wegen Doppelpostings! Da gibts so ne Funktion:


Dann:
Code:
foreach ($old as $k => $v) {
    if (!preg_match('/^?(foo [0-9]+)?(bar [0-9]+)?$/', $v, $match)) continue;
    $new[$match[2]] = $match[1];
}



hmm, hab das jetzt mal getestet und funktioniert noch nicht

müsste in der regex vor den '?' nicht noch ein backslash?
und was macht das '$' am schluss?

//
$-zeilenende Meine Güte!


Zuletzt bearbeitet von am Fr 16.06.2006 14:46, insgesamt 1-mal bearbeitet
 
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Fr 16.06.2006 14:45
Titel

Antworten mit Zitat Zum Seitenanfang

Poste dochmal bitte deinen ganzen Code zum testen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Fr 16.06.2006 15:15
Titel

Antworten mit Zitat Zum Seitenanfang

jetzt funktioniert es!

das '?' wurde voher als metazeichen interpretiert

danke vielmals! Lächel
 
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 16.06.2006 15:15
Titel

Antworten mit Zitat Zum Seitenanfang

Die Fragezeichen escapen ist durchaus nicht die schlechteste idee Lächel
  View user's profile Private Nachricht senden
 
Ähnliche Themen PHP: Schlüssel von Arrays ändern
Array und dazugehörigen Werte aus Datenbank holen?
[photoshop] cs5 werte für pfeiltasten ändern?
Reihenfolge der Option-Werte in einer Select-Liste ändern
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
AS Array durchlaufen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.