| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: Array in String umwandeln und retour im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Ich hab ein verschachteltes Array das ich in einer Datenbank abspeichern möchte. Meine Schlussfolgerung war, dieses Array in einen ...
![]() |
| | #1 (permalink) |
| Registriert seit: 05.04.05 ![]() Likes: 0 | Array in String umwandeln und retour Anzeige Ich hab ein verschachteltes Array das ich in einer Datenbank abspeichern möchte. Meine Schlussfolgerung war, dieses Array in einen String umwandeln und so abzuspechern. Kein Problem. Aber aus diesem String wieder ein Array zu machen war um einiges schwieriger. Implode / Explode geht nicht so einfach, da das Array sehr verschachtelt ist. Ich hab als Beispiel dieses Array: Code: $kategorien=array(
"Leibchen"=>array("Hemden"=>"Hemden","T-Shirts"=>"T-Shirts","Pullover"=>array("Baumwolle"=>"Baumwolle","Polyester"=>"Polyester")),
"Hosen"=>array("Shorts"=>"Shorts","Kordhosen"=>"Kordhosen"),
"Unterwaesche"=>array("Socken"=>"Socken","Unterhosen"=>"Unterhosen"),
"Sonstiges"=>"Sonstiges"); Code: function auflisten($array){
static $string;
for($x=0;$x<count($array);$x++){
$string=$string.key($array)." ";
if(is_array(pos($array))){
$string=$string."(";
auflisten(pos($array));
$string=$string.") ";
}
next($array);
}
$string=chop($string);
return $string;
}{ Code: Leibchen (Hemden T-Shirts Pullover (Baumwolle Polyester)) Hosen (Shorts Kordhosen) Unterwaesche (Socken Unterhosen) Sonstiges mein Ansatz: Code: function zerlegen($string) {
/*
- zählen wie viele Ebenen es gibt (wie viele ?(? gibt es)
- Das erste ?(? suchen ? Position1
- Das nächste ?)? suchen ? Position2
- Wenn dazwischen ein ?(? vorkommt:
o Zählen wie viele es sind
o Überspringe gleich viele ?)?
- ?$temp_inhalt? ist von Position1 bis Position2
- Das Wort vor ?(? zu einem Schlüssel im Array $kategorien mit dem Wert ?$temp_inhalt? machen
- Wenn es ?(? in ?$temp_inhalt? gibt dann
o die gleiche Prozedur mit ?$temp_inhalt?
o das erste Array zu einem Eintrag von $kategorien
- Das gleiche noch mal nach ?)?
*/
$anzahl=substr_count($string,'(');
$position1=stripos($string,"(");
$position_x=strpos($string,"(",$position1);
$pos_x=$position_x;
$position2=stripos($string,")")
if($position_x<$position2){
while($position_x<$position2){
$position_x=strpos($string,"(",$position_x);
$position2=strpos($string,")",$position_x);
}
}
$string_array=str_split($string);
for($x=$position1;$x<$position2;$x++){
$temp_inhalt=$temp_inhalt.$string_array[$x];
}
if($pos_x<$position2){
zerlegen($temp_inhalt);
}
//USW...
} Vllt gibt es ja einen Schmäh oder ich bin einfach zu dumm, aber hat vllt jemand einen Wink? |
| | |
| | #2 (permalink) |
| Registriert seit: 29.01.06 ![]() Likes: 0 | Das kannst du ganz einfach mit serialize() und unserialize() erledigen. |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| String <=> cli::array | ChiefWiggum | Code Kitchen | 6 | 08.02.08 19:30 |
| Wie String in Array kriegen? | bad_alloc | Code Kitchen | 17 | 07.02.08 19:37 |
| php curl array string zu array parsen | b4ck | (Web-) Design und webbasierte Sprachen | 5 | 12.12.07 17:11 |
| [c++] normalen String in wxString umwandeln??? | Stroker | Code Kitchen | 3 | 24.10.07 23:26 |
| Element aus String-Array an Funktion übergeben | CentralWay | Code Kitchen | 1 | 04.10.07 19:27 |