Problem mit array_combine

JesusFreak777

Erfahrenes Mitglied
Hallo,

ich möchte gerne namen auflisten nach Geburtstag,...

ich hab mir mal ein paar arrays gebastelt,...

z.B.
ein array sind die usernamen
ein array sind die geburtstage

jetzt hab ich die einfach verknüpft:
PHP:
$gebzuuser = array_combine($user, $geb);

wenn ich jetzt eingebe $gebzuuser[1984-12-03]; dann gibt er mir nichts aus :(
also gut ist wohl irgendwas falsch,...
wenn ich das ganze jetzt aber umdrehe
PHP:
$userzugeb = array_combine($geb, $user);
und geb dann ein
$userzugeb[hans];

gibt er mir sein datum aus :(

was mach ich Falsch,... kann ein array nichts mir yyyy-mm-dd anfangen?

ich hab jetzt tabellen wo das massenweiße so praktiziert wird

gibt es da eine lösung`?

Danke für eure Hilfe
 
Benutze doch einmal [phpf]print_r[/phpf] oder [phpf]var_dump[/phpf] aus um den Array auszugeben und zu überprüfen.

Dort kannst du dann sehen wie die Keys genau heißen.

Nützlich finde ich dafür diese Kombo:

PHP:
<?php
$array = array('rot', 'blau', 'gelb', 'schwarz');
echo '<pre>'.print_r($array, true).'</pre>';
?>

Dann ist es auch noch formatiert ;)
 
Ich vermute mal, dass du es so in deinem Skript stehen hast:
PHP:
<?php
$gebzuuser = array_combine($user, $geb);

// Rufst du es so auf?
echo $gebzuuser[1984-12-03]; // 1984 - 12 - 3 = 1969

// Du musst es aber so aufrufen
echo $gebzuuser['1984-12-03'];
?>
 
Danke für die Schnelle Antwort,...

hätte ich dazuschreiben sollen,... hab ich natürlich gemacht,...

in der ausgabe steht dann z.B.

HTML:
[1994-08-31] => Domi

heißt aber nicht das wenn ich

HTML:
echo $array[1994-08-31] ;
eingabe das er mir Domi ausgibt

Irgendwo hab ich doch einen Denkfehler?
 
OK nochn Problem,...

was mach ich jetzt wenn ich 2 Leute in der Datenbank hab ich am Selben tag geburtstag hab,...

wenn ich jetzt print_r mache zeigt er mir bei doppelten eintrag immer den letzten an,...
kann ich auch irgendwie den befehl geben das er alle durchmachen soll?

ich möchte immer nur das darum angeben und der soll mir alle namen ausgeben die an dem Datum geburtstag haben.

Danke
 
OK,

so ca. hab ich das verstanden,... ich liste das ganze einfach wie nen extra array auf,... 0 ist user 1, 1 ist user 2,...
aber bei mir gibt er immer nur den letzten buchstaben (vom usernamen) aus wenn ich $gebzuuser['1989-12-03'][0] eingebe.

?
 
Zuletzt bearbeitet:
Das bedeutet, dass es kein Array mehr ist, sondern ein String.
Und wenn man eckige Klammern bei einem String benutzt, gibt er einem das Zeichen dass beim String an dieser Position steht.

Wieder wie oben erwähnt würde dir ein Überblick über das Array weiterhelfen.

Ich vermute, du hast nicht bedacht, dass [phpf]array_combine[/phpf] keine mehrdimensionalen Arrays erzeugt und somit einfach die anderen Geburtstage überschrieben hat.
 
Zurück