PHP: Wie vergleichen der keys in einem array mit den Werten in die andere, und zurück entspricht?
Habe ich die folgenden zwei arrays:
$array_one = array('colorZero'=>'black', 'colorOne'=>'red', 'colorTwo'=>'green', 'colorThree'=>'blue', 'colorFour'=>'purple', 'colorFive'=>'golden');
$array_two = array('colorOne', 'colorTwo', 'colorThree');
Ich möchte ein array aus $array_one
enthält nur die Schlüssel-Wert-paar, dessen Schlüssel sind die Mitglieder von $array_two (indem Sie entweder ein neues array oder entfernen Sie den rest der Elemente von $array_one
)
Wie kann ich das tun?
Schaute ich in array_diff
und array_intersect
, aber Sie vergleichen die Werte mit den Werten, und nicht die Werte von einem array mit den Schlüsseln von den anderen.
- array_diff() oder array_intersect() kombiniert mit array_keys()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich verstehe das richtig:
Rückgabe ein neues array:
Stripping von $array_one:
Seit PHP 5.1 gibt es
array_intersect_key
(Handbuch).Nur flip das zweite array von key=>Wert zu Wert=>key mit
array_flip()
zu vergleichen und dann Tasten.So zu vergleichen OP-arrays, die dies tun würde:
Keine Notwendigkeit für eine Schleife die arrays überhaupt.
Mir sagen, ob es funktioniert:
$array_final
wird ein neues array erstellt wird, richtig? Aber ich bekommeNotice: Undefined variable: array_final in C:\xampp\htdocs\testsNine.php on line 14
wenn ich versuche zu tunprint_r($array_final);
nach der Schleife. :scount($array_two)
mit$array_two.length
von JS. Das hätte auch erzeugt einen Fehler. Aber ich verstehe das Konzept. SO, danke.HTML: