// Das "mehrdimensionale Array" wird definiert:
$user = array();
$user['001']['nummer'] = '001';
$user['001']['name'] = 'Hans-Jürgen';
$user['001']['username'] = 'hanj';
$user['001']['pin'] = '3142';/* .. */
// Der Suchausdruck wird definiert:
$search = 'vere';
// Alle Elemente des Arrays '$user' durchlaufen und nach dem Suchausdruck bei 'username' suchen.
// Wenn es zu einem Treffer kommt, die Nummer des Arrayelements, das gerade im Durchlauf ist, festhalten:foreach ( $user as $data )
{
if ( $search == $data['username'])
{
$nummer = $data['nummer'];
}
}
> [...] nach 3 Tagen die Sache zu verstehen und mein Problem zu lösen.
Meiner Meinung nach hast du dein Problem nicht gelöst sondern umgangen. `$user['003']['nummer'] = '003';`{:.language-php} redundante Daten, auf die du mit der erweiterten Variante von foreach viel leichter drauf zugreifen kannst.
> Beim Herumprobieren mit der. 2. Form des foreach bin ich in den letzten Tagen leider nicht weitergekommen. ([Quelle](https://forum.selfhtml.org/?t=212940&m=1455522))
Was genau hast du denn probiert?
~~~php
$arr = Array("index1"=>"xx","index2"=>"yy");
foreach($arr as $key => $value){
echo $key," => ",$value,"\n";
}
Gibt folgendes aus:
index1 => xx
index2 => yy
An diesem Punkt kommt ins Spiel, dass du ein Array of Array hast. Quasi besteht $value aus deinem inneren Array, das die Indizi..Inde... (Plural von Index) 'name', 'user' & 'pin' hat.
foreach($user as $key => $value){
echo $key," => ",$value['user'],'\n';
}
Wenn man dein hardcoded Array komplett mit dem Arrray-Konstruktor erzeugen würde wäre auch klar, das $user ein Array of Array ist.
$user = Array(
"001" => Array(
"user" => "bla",
"name"=>"bla2"
"pin"=> 12356
),
"002" => Array(
"user" => "blub",
"name"=>"blub2"
"pin"=> 654321
)
);
MfG
bubble
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye