Mein Problem ist:Passende mehr Werte gegen eine Anordnung
Ich habe ein Array namens $ ownerArray, dass ein anderes Array überprüfen muß gegen und wenn ein Schlüssel vorhanden ist in beiden Arrays den Wert des passenden Schlüssels anzuzeigen. $ ownerArray wird von einer Datenbank gefüllt, so dass ich nicht einfach eine ir-Anweisung innerhalb einer if-Anweisung schreiben kann.
$ ownerArray wird wie folgt aussehen:
$ownerArray = array(0 =>'Name0',1 =>'Name1',2 =>'Name2',3 =>'Name3');
Dann habe ich ein anderes Array $ Users genannt, die eine verschiedene Anzahl von Werten je nachdem, was der Benutzer auswählt hat, so könnte $ Nutzer wie folgt aussehen:
$Users = '1,2'
oder So:
$Users = '1,3'
Benutzer $ ist nie gleich.
Aber ich brauche den $ Wert von $ ownerArray angezeigt werden, wenn eine der Wert ganzen Zahlen von $ Users jeden $ Schlüssel ownerArray
$ entsprichtBeispiel:
foreach($ownerArray as $key => $value)
{
if(in_array($key,array($Users)))
{
print $value;
}
}
Diese Methode an der Faust hält Übereinstimmung und zeigt den korrekten Namen an. Die Schleife wird nicht weiter gedruckt, wenn mehr Werte übereinstimmen.
Was ich suche ist, wenn $ Users = '1,3' meine for-Schleife wird Name1 und Name3 aus dem $ ownerArray drucken.
Danke für die Hilfe!
ps ich weiß, ich könnte verwenden, wenn ($ key == 1 || $ key == 2), aber das wird nicht für diesen Fall funktionieren.
One Liner FTW !!! – rdlowrey
Ich mache diese Art der Sache die ganze Zeit. +1 –
'$ merged = array_flip (array_intersect (array_flip ($ besitzer), explode (',', $ user)));' kein spacer FTW –