php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2005, 11:22  
Gast
 
Beiträge: n/a
Standard Daten aus 2 Arrays zuordnen und in ein neues Array speichern

Hallo!

Habe folgendes Problem:

Ich habe 2 Arrays (ausgelesen aus einer Log-Datei).
Nun möchte ich bestimmte Werte aus Array1 zu bestimmten Werten im Array2 zuordnen und in ein neues Array3 ablegen.

Das ganze hat folgende Struktur:

$array1["Name1"]["Kategorie1"]["Bezeichnung1"] = "Wert1"
$array1["Name1"]["Kategorie1"]["Bezeichnung2"] = "Wert2"
$array1["Name1"]["Kategorie1"]["Bezeichnung3"] = "Zahl1:Zahl2|Zahl3:Zahl4|Zahl5:Zahl6|"

$array1["Name1"]["Kategorie2"]["Bezeichnung1"] = "Wert3"
$array1["Name1"]["Kategorie2"]["Bezeichnung2"] = "Wert4"
$array1["Name1"]["Kategorie2"]["Bezeichnung3"] = "Zahl11:Zahl12|Zahl13:Zahl14|"

$array1["Name1"]["Kategorie3"]["Bezeichnung1"] = "Wert5"
$array1["Name1"]["Kategorie3"]["Bezeichnung2"] = "Wert6"
$array1["Name1"]["Kategorie3"]["Bezeichnung3"] = "Zahl21:Zahl22|"

$array1["Name1"]["Kategorie4"]["Bezeichnung1"] = "Wert7"
$array1["Name1"]["Kategorie4"]["Bezeichnung2"] = "Wert8"
$array1["Name1"]["Kategorie4"]["Bezeichnung3"] = "Zahl31:Zahl32|Zahl33:Zahl34|"


$array2["andererName1"]["andereBezeichnung1"] = "Wert11"
$array2["andererName1"]["andereBezeichnung2"] = "Kategorie1"

$array2["andererName2"]["andereBezeichnung1"] = "Wert12"
$array2["andererName2"]["andereBezeichnung2"] = "Kategorie2"

$array2["andererName3"]["andereBezeichnung1"] = "Wert13"
$array2["andererName3"]["andereBezeichnung2"] = "Kategorie3"

$array2["andererName4"]["andereBezeichnung1"] = "Wert14"
$array2["andererName4"]["andereBezeichnung2"] = "Kategorie4"

So soll das dritte Array mit den zugeordneten Daten aussehen:

$array3["Kategorie1"]["Beschreibung1"] = "Zahl1", "Zahl3", "Zahl5"
$array3["Kategorie1"]["Beschreibung2"] = "Zahl2", "Zahl4", "Zahl6"
$array3["Kategorie1"]["Beschreibung3"] = "Wert11"

$array3["Kategorie2"]["Beschreibung1"] = "Zahl11", "Zahl13"
$array3["Kategorie2"]["Beschreibung2"] = "Zahl12", "Zahl14"
$array3["Kategorie2"]["Beschreibung3"] = "Wert12"

$array3["Kategorie3"]["Beschreibung1"] = "Zahl21"
$array3["Kategorie3"]["Beschreibung2"] = "Zahl22"
$array3["Kategorie3"]["Beschreibung3"] = "Wert13"

$array3["Kategorie4"]["Beschreibung1"] = "Zahl31", "Zahl33"
$array3["Kategorie4"]["Beschreibung2"] = "Zahl32", "Zahl34"
$array3["Kategorie4"]["Beschreibung3"] = "Wert14"


Hat jmd ne Idee?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.10.2005, 11:25  
Gast
 
Beiträge: n/a
Standard

kann man das auch kürzer und schnell verständlich formulieren?
 
Alt 12.10.2005, 11:45  
Gast
 
Beiträge: n/a
Standard

Ich denke wenn ichs kürzer beschreibe geht das, was ich meine verloren.

Mir geht es darum: Alles was in $array1 und $array2 ROT ist soll der Name des ersten "Unterarrays" im $array3 werden.

Die Werte sollen sich aus den GRÜNEN und BRAUNEN Werten bilden, wobei diese in Beziehung zur Kategorie stehen sollen.

Im $array1 müssen ausserdem die einzelnen Zahlen aus der Menge extrahiert werden (1:2|4:2| soll dann jeweils im $array3 getrennt erscheinen 1,4 und 2,2)

Anders kann ich es nicht beschreiben....
 
Alt 12.10.2005, 12:35  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

PHP-Code:
<?php

$array1
["Name1"]["Kategorie1"]["Bezeichnung1"] = "Wert1";
$array1["Name1"]["Kategorie1"]["Bezeichnung2"] = "Wert2";
$array1["Name1"]["Kategorie1"]["Bezeichnung3"] = "Zahl1:Zahl2|Zahl3:Zahl4|Zahl5:Zahl6|";

$array1["Name1"]["Kategorie2"]["Bezeichnung1"] = "Wert3";
$array1["Name1"]["Kategorie2"]["Bezeichnung2"] = "Wert4";
$array1["Name1"]["Kategorie2"]["Bezeichnung3"] = "Zahl11:Zahl12|Zahl13:Zahl14|";

$array1["Name1"]["Kategorie3"]["Bezeichnung1"] = "Wert5";
$array1["Name1"]["Kategorie3"]["Bezeichnung2"] = "Wert6";
$array1["Name1"]["Kategorie3"]["Bezeichnung3"] = "Zahl21:Zahl22|";

$array1["Name1"]["Kategorie4"]["Bezeichnung1"] = "Wert7";
$array1["Name1"]["Kategorie4"]["Bezeichnung2"] = "Wert8";
$array1["Name1"]["Kategorie4"]["Bezeichnung3"] = "Zahl31:Zahl32|Zahl33:Zahl34|";


$array2["andererName1"]["andereBezeichnung1"] = "Wert11";
$array2["andererName1"]["andereBezeichnung2"] = "Kategorie1";

$array2["andererName2"]["andereBezeichnung1"] = "Wert12";
$array2["andererName2"]["andereBezeichnung2"] = "Kategorie2";

$array2["andererName3"]["andereBezeichnung1"] = "Wert13";
$array2["andererName3"]["andereBezeichnung2"] = "Kategorie3";

$array2["andererName4"]["andereBezeichnung1"] = "Wert14";
$array2["andererName4"]["andereBezeichnung2"] = "Kategorie4";


$array3["Kategorie1"]["Beschreibung1"] = array("Zahl1""Zahl3""Zahl5");
$array3["Kategorie1"]["Beschreibung2"] = array("Zahl2""Zahl4""Zahl6");
$array3["Kategorie1"]["Beschreibung3"] = "Wert11";

$array3["Kategorie2"]["Beschreibung1"] = array("Zahl11""Zahl13");
$array3["Kategorie2"]["Beschreibung2"] = array("Zahl12""Zahl14");
$array3["Kategorie2"]["Beschreibung3"] = "Wert12";

$array3["Kategorie3"]["Beschreibung1"] = array("Zahl21");
$array3["Kategorie3"]["Beschreibung2"] = array("Zahl22");
$array3["Kategorie3"]["Beschreibung3"] = "Wert13";

$array3["Kategorie4"]["Beschreibung1"] = array("Zahl31""Zahl33");
$array3["Kategorie4"]["Beschreibung2"] = array("Zahl32""Zahl34");
$array3["Kategorie4"]["Beschreibung3"] = "Wert14";


$array_temp = array();
foreach(
$array2 as $value)
        
$array_temp[$value["andereBezeichnung2"]] = $value["andereBezeichnung1"];


$array3 = array();
foreach(
$array1["Name1"] AS $key => $value) {
        
$array3[$key] = array();
        
$zahlen preg_split("/:|\|/",$value["Bezeichnung3"],-1,PREG_SPLIT_NO_EMPTY);
        
$beschreibung1 = array();
        
$beschreibung2 = array();
        foreach(
$zahlen as $key2 => $value2) {
                if(
$key2%2)
                        
$beschreibung2[] = $value2;
                else
                        
$beschreibung1[] = $value2;
        }
        
$beschreibung3 $array_temp[$key];
        
$array3[$key]["Beschreibung1"]=$beschreibung1;
        
$array3[$key]["Beschreibung2"]=$beschreibung2;
        
$array3[$key]["Beschreibung3"]=$beschreibung3;
}

print_r($array3);


?>
Buhmann ist offline  
Alt 12.10.2005, 13:01  
Gast
 
Beiträge: n/a
Standard

Vielen Dank! Läuft wunderbar, bis auf ein kleines Problem:

if($key2%2)

diese Modolo-Op nützt mir leider nichts, da die Zahlen NICHT nach gerade oder ungerade sortiert werden. leider :wink:
Vielmehr soll die Zahl vorm : immer Beschreibung1 und die Zahl nach dem : Beschreibung 2.

Ich schau mal ob ich das selber hinbekomme

Nochmals DANKE!
 
Alt 12.10.2005, 13:08  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

pfft es bringt sehr wohl etwas, weil der KEY überprüft wird, nicht die zahl.

Ich habe mir schon was dabei gedacht

und die keys werden immer in der richtigen reihenfolge sein, wenn alle zahlen auch existieren (probleme würden also konstellationen wie "zahl1zahl2" bringen.
Buhmann ist offline  
Alt 12.10.2005, 13:22  
Gast
 
Beiträge: n/a
Standard

Jo, hast recht! Das mit dem $key hab ich wohl überlesen....

Danke Dir für Deine Hilfe!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Mehrere Arrays unterschiedlicher Größe kombinieren querfisch PHP Tipps 2007 9 31.03.2007 21:34
Daten in XML oder INI speichern mAy^daY PHP Tipps 2007 9 27.02.2007 12:30
Sortieralgo: Plötzlich keinen Zugriff mehr auf Daten Melchior PHP-Fortgeschrittene 8 19.09.2006 23:50
Zwei arrays indexrichtig in DB speichern tinchen PHP Tipps 2006 7 07.06.2006 21:32
Verschachteltes Array: Daten auswählen horstenpeter PHP Tipps 2006 8 14.03.2006 00:12
Daten aus Datenbank sinnvoll speichern PHP Tipps 2006 15 02.02.2006 19:54
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Speichern sensibler Daten CC84 PHP Tipps 2006 4 18.01.2006 21:54
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
[Erledigt] Mehrdimensionales Array in Session speichern PHP-Fortgeschrittene 6 11.10.2005 17:32
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
erg von readdir() in array speichern? imported_dex PHP Tipps 2004-2 2 27.12.2004 10:23
Daten speichern in einen array PHP Tipps 2004 8 24.10.2004 12:29
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zwei arrays zuordnen, preg_split array zuordnen, php array zuordnen, php array wert zuordnen, php array daten mit key speichern, array zuordnen php

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.