zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden string in mehrdimensionlaes arrary

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 10.04.2015, 20:50
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.03.2009
Beiträge: 29
labbixenja befindet sich auf einem aufstrebenden Ast
Standard string in mehrdimensionlaes arrary

Hallo,

stehe auf dem Schlauch und komme nicht weiter:

Von externem Anbieter bekomme ich über eine url folgende Informationen, die ich in einem mehrdimensionalen Array "weiterverarbeiten" möchte:

PHP-Code:
$string ="bezeichnung=DZ&beschreibung=Doppelzimmer&vakanz=2&ep=20&ep2=25;bezeichnung=DZS&beschreibung=Doppelzimmer, seitlicher Meerblick&vakanz=1&ep=25&ep2=30;bezeichnung=TZ&beschreibung=3-Bett-Zimmer&vakanz=3&ep=40&ep2=45;bezeichnung=FZ&beschreibung=Familienzimmer&vakanz=2&ep=80&ep2=120;bezeichnung=DZZ6&beschreibung=Doppelzimmer Zustellbett&vakanz=3&ep=22&ep2=29;bezeichnung=DZZ11&beschreibung=Doppelzimmer Zustellbett&vakanz=2&ep=25&ep2=30;bezeichnung=DZA&beschreibung=Einzelzimmer&vakanz=2&ep=30&ep2=35;"
Jeder Datensatz ist durch semikolon ; getrennt - Innerhalb des Datensatzes gibt es jeweils index bezeichnung, beschreibung, vakanz, ep u. ep2 mit einem Wert nach =. Die einzelnen indexe sind mit & getrennt .

Das Array soll anschließend so aussehen (jetzt per Hand geschrieben)


PHP-Code:

         $zimmer
=array();
          
$zimmer[1]["bezeichnung"]="DZ";
          
$zimmer[1]["beschreibung"]="Doppelzimmer";
          
$zimmer[1]["vakanz"]=2;
          
$zimmer[1]["ep"]=20;
          
$zimmer[1]["ep2"]=25;
                   
          
$zimmer[2]["bezeichnung"]="DZS";
          
$zimmer[2]["beschreibung"]="Doppelzimmer, seitlicher Meerblick";
          
$zimmer[2]["vakanz"]=1;
          
$zimmer[2]["ep"]=25;
          
$zimmer[2]["ep2"]=30;
          
          
$zimmer[3]["bezeichnung"]="TZ";
          
$zimmer[3]["beschreibung"]="3-Bett-Zimmer";
          
$zimmer[3]["vakanz"]=3;
          
$zimmer[3]["ep"]=40;
          
$zimmer[3]["ep2"]=45;
          
          
$zimmer[4]["bezeichnung"]="FZ";
          
$zimmer[4]["beschreibung"]="Familienzimmer";
          
$zimmer[4]["vakanz"]=2;
          
$zimmer[4]["ep"]=80;
          
$zimmer[4]["ep2"]=120;
          
          
$zimmer[5]["bezeichnung"]="DZZ6";
          
$zimmer[5]["beschreibung"]="Doppelzimmer Zustellbett";
          
$zimmer[5]["vakanz"]=3;
          
$zimmer[5]["ep"]=22;
          
$zimmer[5]["ep2"]=29;
          
          
$zimmer[6]["bezeichnung"]="DZZ11";
          
$zimmer[6]["beschreibung"]="Doppelzimmer Zustellbett";
          
$zimmer[6]["vakanz"]=2;
          
$zimmer[6]["ep"]=25;
          
$zimmer[6]["ep2"]=30;
          
          
$zimmer[7]["bezeichnung"]="DZA";
          
$zimmer[7]["beschreibung"]="Einzelzimmer";
          
$zimmer[7]["vakanz"]=2;
          
$zimmer[7]["ep"]=30;
          
$zimmer[7]["ep2"]=35

mit dem explode komme ich nicht weit und dann hört es bei mir auch schon auf....

PHP-Code:
$array_string=array();
$array_string explode(';',$string); 

Weiss jemand Rat?

Vorab schon mal vielen Dank!

LG Stefan
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 11.04.2015, 11:21
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 10.12.2006
Beiträge: 887
threadi sorgt für eine eindrucksvolle Atmosphärethreadi sorgt für eine eindrucksvolle Atmosphäre
Standard

Du willst am & und nicht am ; exploden ..

Schau dir auch mal das an: PHP: parse_str - Manual
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 11.04.2015, 11:47
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.03.2009
Beiträge: 29
labbixenja befindet sich auf einem aufstrebenden Ast
Standard

Danke, das ist ein super Tipp! Werde mich einlesen und es neu probieren....

Hatte gestern noch schon mal klein angefangen und es so versucht:

PHP-Code:
//string
$url "dza=2&dz=8&tz=2&fz=2&arr=1435316400&dep=1436518800";
$zerlegen explode("&"$url);

    
   
$a 0;
   while(
$a count($zerlegen))
   {
   
// jeder einzelne string wird getrennt
   
list($index,$wert) = explode("="$zerlegen[$a]);

   
$array_neu[$index]=$wert;
   
   
$a++;
   }
   
// Array anzeigen   
echo "<pre>";
var_dump ($array_neu);
echo 
"</pre>"
ergibt dann schon mal

array(6) {
["dza"]=>
string(1) "2"
["dz"]=>
string(1) "8"
["tz"]=>
string(1) "2"
["fz"]=>
string(1) "2"
["arr"]=>
string(10) "1435316400"
["dep"]=>
string(10) "1436518800"
}

Der Weg mit
Zitat:
Schau dir auch mal das an: PHP: parse_str - Manual
ist wohl einfacher .....
Mit Zitat antworten
  #4 (permalink)  
Alt 11.04.2015, 13:39
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.03.2009
Beiträge: 29
labbixenja befindet sich auf einem aufstrebenden Ast
Daumen hoch

HAT GEKLAPPT

Vielen Dank threadi für den entscheidenden Tipp! Damit ging es ja dann recht einfach!

PHP-Code:

$string
="bezeichnung=DZ&beschreibung=Doppelzimmer&vakanz=2&ep=20&ep2=25;bezeichnung=DZS&beschreibung=Doppelzimmer, seitlicher Meerblick&vakanz=1&ep=25&ep2=30;bezeichnung=TZ&beschreibung=3-Bett-Zimmer&vakanz=3&ep=40&ep2=45;bezeichnung=FZ&beschreibung=Familienzimmer&vakanz=2&ep=80&ep2=120;bezeichnung=DZZ6&beschreibung=Doppelzimmer Zustellbett&vakanz=3&ep=22&ep2=29;bezeichnung=DZZ11&beschreibung=Doppelzimmer Zustellbett&vakanz=2&ep=25&ep2=30;bezeichnung=DZA&beschreibung=Einzelzimmer&vakanz=2&ep=30&ep2=35";

//einzelnen Datensaetze trennen
$ds_trennen explode(";"$string);

    
$a 0;
   while(
$a count($ds_trennen))
   {
   
   
//Verarbeitet $string, als ob er der Query-String einer URL-Übergabe via GET wäre
   
parse_str($ds_trennen[$a]);
   
  
   
$zimmer[$a]["bezeichnung"]=$bezeichnung;
   
$zimmer[$a]["beschreibung"]=$beschreibung;
   
$zimmer[$a]["vakanz"]=$vakanz;
   
$zimmer[$a]["ep"]=$ep;
   
$zimmer[$a]["ep2"]=$ep2;
   
      
   
$a++;
   }
echo 
"<pre>";

var_dump ($zimmer);

echo 
"</pre>"
Ergibt dann das gewünschte Ergebnis.

Vielen Dank nochmal.

LG labbixenja
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
String wird nicht ausgegeben. tichy Javascript & Ajax 1 04.11.2012 21:17
String zu Array tichy Javascript & Ajax 3 20.06.2010 23:47
PHP: Vorkommen eines Substrings in String zählen? braindead Serveradministration und serverseitige Scripte 0 07.05.2009 23:49
String ersetzen mit jQuery Schneemann Javascript & Ajax 1 20.08.2007 16:57
Substring in anderen String einfügen Marco D. Javascript & Ajax 2 27.02.2007 12:14


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:06 Uhr.