xpfreund: in mehrdimensionalem Array suchen

Hallo,

ich habe ein mehrdimensionales Array.
$gesamt=array(1 => array(text1,2,3),2=> array(text4,5,6));

jetzt habe ich mit array_search("text4",$gesamt) wissen wollen, wo text4 steht. Ees wird aber nichts gefunden.

Hintergrund ist der: Ich möchte nach gewissen Bedingungen nachträglich den Text im Array ändern. Dazu brauche ich den Schlüssel des Gesamt- und Unterarrays.
D.h. Ergebnis = [2][1]
Wisst ihr wie man das hinkriegt?

gruß aus Senftenberg am See

  1. echo $begrüßung;

    ich habe ein mehrdimensionales Array.

    PHP kennt keine mehrdimensionalen Arrays. Es gibt nur einfache Arrays, deren Werte allerdings ebenfalls Arrays sein können. Das kann man zwar als multidimensional ansehen, doch damit trifft man die eher an einen Baum erinnernde Struktur nicht direkt.

    $gesamt=array(1 => array(text1,2,3),2=> array(text4,5,6));

    Sehr schön ist das hier zu sehen, das ist ein Array, dessen Werte zufälligerweise weitere Arrays sind. Du könntest auch noch einen skalaren Wert drin unterbringen, dann ist es immer noch ein PHP-Array, aber deine Mehrdimensionalität hat eine Beule bekommen.

    jetzt habe ich mit array_search("text4",$gesamt) wissen wollen, wo text4 steht. Ees wird aber nichts gefunden.

    Ja, das ist verständlich. So gut wie alle Array-Funktionen arbeiten nur mit einfachen unverschachtelten Arrays.

    Hintergrund ist der: Ich möchte nach gewissen Bedingungen nachträglich den Text im Array ändern. Dazu brauche ich den Schlüssel des Gesamt- und Unterarrays.
    D.h. Ergebnis = [2][1]
    Wisst ihr wie man das hinkriegt?

    Zu Fuß rekursiv durchlaufen. In den Benutzerkommentaren zu array_search() findest du eine Funktion, die das macht.

    echo "$verabschiedung $name";

    1. Hallo,

      ich habs mit zweien probiert, die kamen zwar auf den richtigen Punkt, aber das Ergebnis war nich das, was ich wollte. Naja hab jetz einfach per foreach die erste Dimension durchlaufen und dann da drin per if gesucht.

      gruß aus Senftenberg am See

    2. Hello,

      PHP kennt keine mehrdimensionalen Arrays. Es gibt nur einfache Arrays, deren Werte allerdings ebenfalls Arrays sein können. Das kann man zwar als multidimensional ansehen, doch damit trifft man die eher an einen Baum erinnernde Struktur nicht direkt.

      Uiuiui, jetzt wärst Du aber beinah und haarscharf aus der Nadelkurve um SR geflogen. :-)

      Ich möchte sogar noch einen Schritt weiter gehen: PHP kennt nur das String-Array. Die als Array bezeichneten Dinger sind verkettete Listen, was nach allgemeiner Definition dann Bäume sind *grins*

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de