In mehrdimensionalen Arrays suchen und eintragen

Lord_Fritte

Mitglied
Hallo ich habe einen mehrdimensionalen Array z.b.

PHP:
array("huhu"=>"blub","hmm"=>array("lala"=>"dumdidum","hmmmm"=>array("blub2"=>"aaaah")));



Und ich habe jetzt 3 Suchbegriffe, jetzt soll er in der 1. Dimension(anhand des values nicht nach dem key) denn 1. Bebriff suchen wenn er denn findet soll er in diese Dimension gehen und dort denn 2. Begriff suchen usw.



Wenn der Begriff aber nicht gefunden wurde, soll er denn Begriff als key und als value einen leeren Array in die Dimension hinzufügen.
 
Häh? Sorry, aber ich verstehe kein Wort. Du kannst in einem mehrdimensionalen Array nicht nach einem Suchbegriff nur in der ersten Dimension suchen, da du ganz offensichtlich Strings nicht mit Arrays vergleichen kannst. Daher ergibt sich aus deinem ersten Satz für mich schonmal überhaupt keinen Sinn.

Und aus deinem zweiten Satz werde ich so leid's mir tut mangels vernünftiger Grammatik auch nicht schlau... :(
 
mal was anderes wie kann ich einen key aus einer variabel an eine array variabel hängen
so geht nicht
PHP:
 $key = "[hmm][blub]";
 echo $array.$key;
 
Zuletzt bearbeitet:
Ok, also erstmal würde ich solche "komplizierten" Arrays anders schreiben:
Code:
<?
$array=array();
$array[erstens][erstens]="bla";
$array[erstens][zweitens]="blargh";
$array[zweitens][erstens]="argh";
$array[zweitens][zweitens]="hugh";
?>
Formulier deine Frage vielleicht etwas deutlicher wenn wir dir helfen sollen.

Zur 2. Frage:
Code:
// Bezieht sich auf das $array von oben!
$search="erstens";
$another_search="zweitens";

echo $array[$search][$another_search];
echo $array[$another_search][$search];
?>

Hoffe dir geholfen zu haben :)
 
Weis jetzt nicht genau was du meinst, aber:
Code:
<?
$key=array("eins","zwei","drei");

for($i=0;$i<=count($key);$i++)
{
  echo $array[$key[$i]];
}

//bzw:
$key=array("eins","zwei","drei");
switch(count($key))
{
  case 1:
    echo $array[$key[0]];
    break;
  case 2:
    echo $array[$key[0]][$key[1]];
    break;
  //Usw
}
?>
 
Ich glaube ich schreibe besser mal was ich vorhabe. Also ich möchte auf meine Seite auch Fehlermeldungen haben, und diese möchte ich in Gruppen und unendlich viele Untergruppen sortieren.
Da das ohne mysql laufen soll, und ja mehrere User auf verschiedenen bereichen meiner Seite sind dachte ich, ich mache das mit einem Array in einer Klasse.

Und so habe ich mir das vorgestellt, ich hab 2 Funktionen get_error und set_error, mit
set_error setze ich jetzt eine Fehlermeldung(-> trennt die einzelnen Gruppen.):
Code:
  set_error(" MySQL->Query->Fehler ", " Der MySQL Query ist fehlerhaft. ");
get_error(); soll das ganze dann so ausgeben:
Code:
  MySQL:
    Query:
  	Fehler: Der MySQL Query ist fehlerhaft.

Jetzt hat man natürlich meistens mehrere Fehlermeldungen und das ist die Sache wo ich nicht weiter komme, wie bastel ich eine script was die neuen Gruppen und Messages in die vorhanden Gruppen einsortiert? Z.b.
Code:
  set_error("MySQL->Query","Führe MySQL->Query aus.");
  set_error("MySQL->Query->Fehler","Es ist ein Fehler im MySQL-Query aufgetretten.");
  set_error("MySQL->Query->Hinweis","Der MySQL-Query wird ausgeführt.");
  set_error("Template->Fehler","Template konnte nicht geladen werden.");
  set_error("Template-Hinweis","Die Template wurde geladen.");

Das soll dann so aussehen:
Code:
  MySQL:
    Query: Führe MySQL-Query aus.
     Fehler: Es ist ein Fehler im MySQL-Query aufgetretten.
     Hinweis: Der MySQL-Query wird ausgeführt.
  Template:
    Fehler: Template konnte nicht geladen werden.
    Hinweis: Die Template wurde geladen.
 
Zurück