PHP array key anhand eines schlüssels einer var zuweisen...

D

dreivier

Gast
Moin

PHP:
$data = array(
                     'id_1' => array(
                     'name' => 'Mueller',
                     'birth' => '12.11.1911'),
                     'id_2' => array(
                     'name' => 'Mayer',
                     'birth' => '12.12.1912'),
                     usw..
                    );

Wie kann man wenn man, wenn man zb. nur den Geburtstag kennt, die dazugehörige Daten jeweils einer var zuweisen?
bzw. alles ausgeben!

Vorhaben...

Jemand gibt in einem Formular ein Datum ein, dann soll im array geschaut werden ob die Eingabe existiert. Wenn sie existiert soll eine Ausgabe erfolgen wo alles gelistet ist was zu dieser Eingabe gehört..

zb. für id_1

Hallo

Zu der Eingabe (12.12.1912) existiert folgendes...

id_2
Mayer

Und, das man jeden Eintrag seperat einer var zuweisen kann, also $var1 = 'id_2'; $var2 = 'Mayer'; usw.

Info, das ganze wird so nicht benutzt, ich möchte mit dem Beispiel nur ein Problem was ich habe zeigen, also wie ich an die richtige id_ in einem array komme wenn ein passender Schlüssel existiert.

Danke.
 
Man lässt halt einfach ein forEach loop durch laufen und vergleicht das Datum aus der Array mit den Datum das man hat. Dafür braucht man nicht ganz viele unnötige Variablen deklarieren - soweit ich das verstanden hab.
 
Du verwendest den genannten foreach mit Key UND Value. Wenn die Value passt, hast du auch den Key.
 
Würde dann so aussehen:

Code:
$data = array(
  'id_1' => array(
    'name' => 'Mueller',
    'birth' => '12.11.1911'
  ),
  'id_2' => array(
    'name' => 'Mayer',
    'birth' => '12.12.1912'
  )
);


$eingabeDatum = '12.12.1912'



foreach ($data as $key => $value) {
  if ($value['birth'] == $eingabeDatum)
  {
    $AlleDatenDerSubArray = $value;
    $derKeyDerArray = $key;
    break; //oder return bei einer funktion um den loop abzubrechen!
  }
}
 
Zuletzt bearbeitet:
Wo kommen denn die Daten her? Normalerweise würde man das doch mit der Datenbankabfrage verbinden...
 
Zurück
Oben