MH: PHP 2 Arrays vergleichen und gemeinsamkeiten Ausgeben

Moin,
Ich hab mal wieder eine Frage uns hoffe jemand kann mir helfen :)
Und zwar habe ich zwei Arrays, die ich miteinander auf gleiche Werte vergleichen will. Das vergleichen kann man ja mit array_intersect machen. Das klappt auch gut. Jetzt will ich aber, das er mir zum einen ausgibt welcher Wert gleich ist und auch bei welchem Key der Wert in Array1 und in Array2 steht. Zum Beispiel:

$b = array(
	'a' => '1',
	'b' => '2',
	'c' => '3'
);
$c = array(
	'a' => '4',
	'b' => '1',
	'c' => '6'
);

Das sind die zwei Arrays. Es soll nun ausgegeben werden, das der gemeinsame Wert 1 ist und das der bei $b['a'] und bei $c['b'] steht. Es ist auch durchaus möglich, dass es mehrer gleiche Werte gibt die dann auch ausgegeben werden sollen.

Ich hoffe es ist klar geworden, was ich gerne umsetzten möchte und das jemand eine Idee hat wie das funktionieren könnte.
Gruß
Matthias

  1. Ich würde die keys der arrays ergänzen ...

    $b = array(
    	'a_von_b' => '1',
    	'b_von_b' => '2',
    	'c_von_b' => '3'
    );
    $c = array(
    	'a_von_c' => '4',
    	'b_von_c' => '1',
    	'c_von_c' => '6'
    );
    

    ... dann beide Arrays zusamenfügen und nach Wert sortieren ...

    $new_array = array (
    	'a_von_b' => '1',
    	'b_von_c' => '1',
    	'b_von_b' => '2',
    	'c_von_b' => '3'
    	'a_von_c' => '4',
    	'c_von_c' => '6'
    );
    

    ... dann $new_array durchlaufen und schauen, wo Dopplungen / Dreilungen / Vierlungen sind.

    Linuchs

  2. Eventuell ist array_keys hilfreich.

    Liefert alle Schlüssel oder eine Teilmenge aller Schlüssel eines Arrays. Ist der optionale Parameter search_value angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben...

    Siehe Beispiel auf eval.in