• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

mehrdimensionales array

mo

Administrator
Teammitglied
hallo zusammen,
eine kurze frage hätte ich. ich hab ein array zusammengebaut, das wie folgt aussieht:
Code:
<?php
    $gruppe[0] = array("Name" => "A1",	 "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe[1] = array("Name" => "A2",	 "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe[2] = array("Name" => "A3",	 "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe[3] = array("Name" => "B",	 "Wert1" => "12", "Wert2" => "6.28");
    $gruppe[4] = array("Name" => "C",	 "Wert1" => "10", "Wert2" => "6.28");
    $gruppe[5] = array("Name" => "C2",	 "Wert1" => "1",  "Wert2" => "6.28");
    $gruppe[6] = array("Name" => "N",	 "Wert1" => "5",  "Wert2" => "6.28");
    $gruppe[7] = array("Name" => "F",	 "Wert1" => "1",  "Wert2" => "6.28");
    $gruppe[8] = array("Name" => "M1",	 "Wert1" => "8",  "Wert2" => "6.28");
    $gruppe[9] = array("Name" => "M2",	 "Wert1" => "8",  "Wert2" => "6.28");
    $gruppe[10] = array("Name" => "THZ",   "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe[11] = array("Name" => "HPZ",   "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe[12] = array("Name" => "SPZ",   "Wert1" => "10", "Wert2" => "6.28");


    echo '<pre>';
    print_r($gruppe);
    echo '</pre>';
 
    echo $gruppe[0]["Wert1"]; // Ausgabe => schwarz
?>
was ich bräuchte ist eine möglichkeit beliebig viele arrays, also gruppen, anzulegen um mir dann später die einzelnen werte rausziehen zu können. ist es dann unsinnig, die arrays durchzunummerieren?
die gruppennamen stehen in einer mysql-datenbank und ich muss nun irgendwie rausfinden können, wie der Wert1 ist, wenn der gruppenname "A1" ist.
wie gehe ich denn da am besten vor? seh grad den wald vor bäumen nicht..
 
Zuletzt bearbeitet von einem Moderator:
Was du da hast sieht doch gut für den Zweck aus. Was genau stört dich denn daran? Gruppen kannst du bei dieser Struktur doch unendlich viele nutzen. Sieht aus wie ein array of hashes. Und drauf zugreifen kannst du mit $gruppe['3']{'wert1'} oder hat PHP eine andere Syntax, da kenne ich mich nicht 100 %tig aus.
Bei mehrzeiligem Code sehen die INLINE Tags übrigens nicht so gut aus wie die CODE Tags.
 
gut. und wie komme ich nun an eine alphabetische liste aller Namen, sortiert nach dem Wert1?
 
wie komme ich nun an eine alphabetische liste aller Namen, sortiert nach dem Wert1?
PHP:
$len = count($gruppe);
$namen = [];
for($x = 0; $x < $len; $x++){
  $wert1 = $gruppe[$x]["Wert1"];
  $namen[$wert1] = $gruppe[$x]["Name"];
}
ksort($namen, SORT_NUMERIC); //Namen ordnen nach Key ("Wert1")


//Test:
foreach($namen as $key => $value){
    echo $key.": ".$value;
}
sollte funktionieren (ungetestet).
 
Wenn die Namen eindeutig sind, würde ich ja gleich die erste Ebene danach gliedert:
PHP:
    $gruppe["A1"] = array("Name" => "A1",	 "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe["A2"] = array("Name" => "A2",	 "Wert1" => "9",  "Wert2" => "6.28");
    $gruppe["A3"] = array("Name" => "A3",	 "Wert1" => "9",  "Wert2" => "6.28");
    ...
 
Lese ich das richtig, es befinden sich alle Informationen wie Gruppennamen und Werte in einer SQL-Datenbank?
Sollte es dann nicht möglich sein, die benötigten Informationen direkt aus der Datenbank zu ziehen (ohne Umweg über Arrays)?
 
Zurück
Oben