zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden String zu array

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 04.04.2008, 11:30
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 28.11.2004
Beiträge: 547
lomtas befindet sich auf einem aufstrebenden Ast
Standard String zu array

Ich habe hier einen String, der vorliegt wie die Übergabe von Parametern einer URL, z.B.

PHP-Code:
$string "anfang=start23&schluss=ende13" 
Daraus möchte ich ein assoziatives Array machen. Habe mir dazu eine Funktion geschrieben:

PHP-Code:
if(!is_array($somearguments)){
    
$temp explode('&',$somearguments);
    foreach(
$temp as $teil){
        
$parts explode('=',$teil);
        
$somearguments[$parts[0]] = $parts[1];
    }

Komisch ist nun: Bevor ich $parts[1] zuweise hat es den richtigen wert: start23. rufe ich danach $somearguments['arguments'] auf, so erhalte ich lediglich das s. ein einziges zeiche. Wie kann ich das richtig hinbekommen? Wo liegt mein Fehler? Ich finds einfach nicht raus.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 04.04.2008, 12:11
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 28.11.2004
Beiträge: 547
lomtas befindet sich auf einem aufstrebenden Ast
Standard

habe lediglich ein unset vergessen

PHP-Code:
    if(!is_array($somearguments)){
        
$temp explode('&',$somearguments);
        unset(
$somearguments);
        foreach(
$temp as $teil){
            
$parts explode('=',$teil);
            
$somearguments[$parts[0]] = $parts[1];
        }
    } 
jetzt funktioniert es...
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.04.2008, 12:12
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Oder (besser) ein:
PHP-Code:
$somearguments = array(); 
Mit Zitat antworten
  #4 (permalink)  
Alt 04.04.2008, 12:16
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Kommt das vielleicht weil du den String überschreibst? Versuch mal in der foreach Schleife $somearguments durch einen anderen Namen zu ersetzen.

Gruß
Timo

EDIT: Ach du meine Güte, wielange ich gebraucht hab.....
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4

Geändert von Timo (04.04.2008 um 12:23 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 04.04.2008, 12:20
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Ja sicher, das Problem ist, dass $somearguments erst ein String ist und in der foreach als Array befüllt werden soll. Wenn die Variable nicht existiert, ermittelt Php den Typ selbst. Sauberer ist es in jedem Fall diesen zu definieren, darum finde ich $somearguments = array() auch besser als unset($somearguments).

Bei anderen Sprachen muss man hier sauber arbeiten, php zwingt einen leider nicht dazu.
Mit Zitat antworten
  #6 (permalink)  
Alt 04.04.2008, 12:52
Benutzerbild von Timo
table-layout: none;
XHTMLforum-Kenner
 
Registriert seit: 11.11.2006
Beiträge: 5.345
Timo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein LichtblickTimo ist ein Lichtblick
Standard

Als ich geschrieben hab, hat noch keiner Geantwortet und ich hab nicht gemerkt das jemand geantwortet hat
__________________
Um weitere Erklärungen eingeblendet zu bekommen, drücken Sie bitte die Tastenkombination Alt + F4
Mit Zitat antworten
  #7 (permalink)  
Alt 04.04.2008, 18:24
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Beiträge: 1.008
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Was ist eigentlich mit parse_str() ?

PHP-Code:
    $string "anfang=start23&schluss=ende13" 
    
if(!is_array($somearguments)){
        
parse_str($string$somearguments);
    } 
Mit Zitat antworten
  #8 (permalink)  
Alt 04.04.2008, 18:57
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Zitat:
Zitat von fox Beitrag anzeigen
Was ist eigentlich mit parse_str() ?
Hehe, das ist natürlich noch einfacher

Ich hab sowas irgendwie noch nie gebraucht...
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe geschieht nur einmal Benutzername Serveradministration und serverseitige Scripte 0 12.05.2011 16:59
String zu Array tichy Javascript & Ajax 3 20.06.2010 23:47
URL mit XML in (X)HTML ausgeben blockmarc (X)HTML 17 05.06.2010 17:39
PHP: Array Klammern [] als String TobyZ23NM8 Serveradministration und serverseitige Scripte 6 17.12.2009 23:24
[PHP5] String in assoziatives Array umwandeln made.by.kaufmann Serveradministration und serverseitige Scripte 2 13.08.2009 11:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:05 Uhr.