dedlfix: Prüfen, ob Wert in einem mehrdimensionalen Array vorhanden ist

Beitrag lesen

Tach!

Wo genau liegt jetzt noch dein Problem?
Das liegt, wie ich bereits sagte, daran, dass ich nicht weiß, wie ich das jetzt auf mein konkretes Beispiel anwenden soll

Solche allgemeinen Aussagen helfen mir als Antwortendem auch wenig. Ich weiß dann nämlich nicht, wo konkret ich ansetzen soll, außer das Gesagte nochmal anders zu formulieren, in der Hoffnung, dass es nur das war.

Nimm den von T-Rex vorgeschlagenen Ansatz, verwende aber die oben genannte erweiterte Syntax der foreach-Schleife. Dann hast du in jedem Schleifendurchlauf den aktuellen "Index" in $key.
Beim Herumprobieren mit der. 2. Form des foreach bin ich in den letzten Tagen leider nicht weitergekommen.

Warum nicht? Was waren die konkreten Probleme? Denn damit kommst du noch einfacher ohne ein zusätzliches Feld aus.

Nehmen wir noch einmal deine Struktur und schreiben sie so, wie sie am Ende wirklich aussieht (auch mit var_dump()/print_r() kontrollierbar).

$user = array();  
  
$user['001']['name']     = 'Hans-Jürgen';  
$user['001']['username'] = 'hanj';  
$user['001']['pin']      = '3142';  
  
$user['002']['name']     = 'Verena';  
$user['002']['username'] = 'vere';  
$user['002']['pin']      = '9441';  
  
$user['003']['name']     = 'Ingeborg';  
$user['003']['username'] = 'ingb';  
$user['003']['pin']      = '9678';

Anders geschrieben:

$user = array(  
  '001' => array(  
    'name' => 'Hans-Jürgen',  
    'username' => 'hanj',  
    'pin' => '3142',  
  ),  
  '002' => array(  
    'name' => 'Verena',  
    'username' => 'vere',  
    'pin' => '9441',  
  ),  
  '003' => array(  
    'name' => 'Ingeborg',  
    'username' => 'ingb',  
    'pin' => '9678',  
  ),  
);

Jetzt solltest du erkennen, was du wirklich hast: Ein (äußeres) Array mit den Keys 001, 002 und 003. Die Werte dazu sind jeweils ein Array mit den Daten zu den Personen.

Ein

echo '<pre>';  
foreach ($user as $key => $value) {  
  var_dump($key);  
  print_r($value);  
  echo "-----------\n";  
}

sollte dir nun zeigen, dass du im $key bereits 001, 002 und 003 gebrauchsfertig stehen hast. $value ist das jeweilige Datensatz-Array dazu. Suche in diesem Datensatz-Array, was du suchen willst und brich beim Finden die Schleife mit break ab. $key und $value bleiben auch nach der Schleife erhalten und enthalten die Daten der Fundstelle.

dedlfix.

0 45

Prüfen, ob Wert in einem mehrdimensionalen Array vorhanden ist

Wolowitz
  • php
  1. 0
    T-Rex
    1. 0
      Wolowitz
      1. 0
        Der Martin
        1. 0
          Wolowitz
          1. 0
            Der Martin
            1. 0
              Wolowitz
              1. 3
                dedlfix
                1. 0
                  Wolowitz
                  1. 0
                    dedlfix
                    1. 0
                      Wolowitz
          2. 0
            T-Rex
            1. 0
              Wolowitz
  2. 0
    dedlfix
    1. 0
      Wolowitz
      1. 1
        Der Martin
      2. 0
        dedlfix
        1. 0
          Wolowitz
          1. 0
            Der Martin
        2. 0
          seth_not@home
          1. 0
            Der Martin
          2. 0
            dedlfix
            1. 0

              bezeichnung "mehrdimensionales array"

              seth
              • meinung
              1. 0
                dedlfix
                1. 0
                  seth
                2. 0
                  seth
                  1. 0
                    dedlfix
                  2. 0
                    Blaubart
                    1. 0
                      dedlfix
                      • php
                    2. 0
                      seth
          3. 0
            Fred Furunkelstein 2013
            1. 0

              oberlehrerhaft

              seth
              • menschelei
              1. 0
                Jörg Reinholz
  3. 0

    Meine Lösung

    Wolowitz
    1. 0
      Matthias Apsel
    2. 0
      Jörg Reinholz
      1. 0

        Meine Lösung: Suchen und Ersetzen von Werten in Arrays(Hash

        Jörg Reinholz
      2. 0
        dedlfix
    3. 0
      bubble
    4. 0
      hotti
      1. 0
        Wolowitz
        1. 0
          Der Martin
          1. 0
            Fred Furunkelstein 2013
        2. 0
          dedlfix
        3. 0
          hotti