¿Cómo transformar esta matriz?

Aquí están los datos

$array = array(
    'random' => 1,
    'pewpew' => 2,
    'temp' => 5,
    'xoxo' => 3,
    'qweqweqe' => 4,
);

$fields = array('random', 'xoxo', 'temp');

Necesito entrar en el resultado:

$result = array(
    'random' => 1,
    'xoxo' => 3,
    'temp' => 5,
);

Me refiero a que las claves de presencia / orden de $ campos se aplican a $ array.

La pregunta es: ¿Puedo realizar esta transformación utilizando solo las funciones array_? (No quiero usar las funciones) En caso afirmativo: ¿puede vincularme la función que necesito?

(perdón por los errores de ortografía)

actualizacion

PHP 5.2

Respuestas a la pregunta(14)

Su respuesta a la pregunta