PHP: Die Schnittmenge von zwei Arrays ermitteln

ImageIch möchte alle Werte eines Array, dessen Schlüssel auch in einem zweiten Array vorkommen.

Zum Beispiel:

$a = array("birnen" => 5, "aepfel" => 3, "bananen" => 7);
$b = array("birnen" => null, "aepfel" => null);
$c = array_intersect_key($a, $b);

In $c stehen jetzt "birnen" und "aepfel". 

Wer kein PHP5 hat, findet hier eine Alternitive. 

Hier der gesamte Quelltext:

if(!function_exists("array_intersect_key"))
{
  function array_intersect_key($src_array, $vergl_array)
  {
    $vergl_keys = array_keys($vergl_array);
    $return_array = array();
    foreach($vergl_keys as $key)
    {
      if(isset($src_array[$key]))
        $return_array[$key] = $src_array[$key];
    }
    return $return_array;
  }
}