Tach!
Vielleicht noch einen allgemeinen Tipp aus meiner Praxis zu komplexeren Datenstrukturen, i.d.R. array's in denen auf einen Key mehrere Attribute liegen. Du tust gut daran, den key selbst nocheinmal in der Attribute-Liste zu haben, z.B. so:
'365' = > array(
'keyname' => '365',
'preis' => 35.79,
)
>
> das widerspricht aber der Meinung von Matthias Apsel und bubble, die die doppelte Angabe kritisiert haben.
Ganz verkehrt ist die Sache nicht. Es kommt drauf an, wofür diese Nummer steht - und wie du deine Daten verarbeitest. Wenn sie Bestandteil der Userdaten ist und du diese Userdaten-Arrays auch einzeln verarbeitest oder irgendwohin (an eine Funktion) übergibst, dann wäre diese Nummer als ein Feld davon vermutlich sinnvoll. Wenn sie zum Beispiel einfach nur die Position in einer Liste angibt, dann ist sie kein Userdatenbestandteil und somit darin entbehrlich oder gar überflüssig. Sie (wenn sie zu den Userdaten gehört) an beiden Stellen zu haben, kann ebenso sinnvoll sein, weil damit zum einen die Userdaten vollständig sind und zum anderen über diese Nummer als Key direkt auf einen User zugegriffen werden kann.
Manche Sachen kann man erst dann richtig(er) einschätzen, wenn man das Umfeld genauer kennt. Wenn du zum Beispiel statt der Nummer den Usernamen als Key nehmen würdest (angenommen, das passt zu deiner Aufgabenstellung) dann wäre die Angelegenheit schon deutlicher. Der Username ist eindeutig Bestandteil der Userdaten und gehört als Feld in das Datensatz-Array. Zum schnelleren Zugriff auf einen bestimmten User ist er zusätzlich als Key verwendet ebenfalls wertvoll. Um die Existenz eines Usernamens festzustellen braucht es dann zum Beispiel nämlich nur noch isset($users[$username]).
dedlfix.