Cortar una matriz de PHP multidimensional a través de uno de sus elementos

Digamos, por ejemplo, que acaba de consultar una base de datos y recibió esta matriz 2D.

$results = array(
    array('id' => 1, 'name' => 'red'  , 'spin' =>  1),
    array('id' => 2, 'name' => 'green', 'spin' => -1),
    array('id' => 3, 'name' => 'blue' , 'spin' => .5)
);

A menudo me encuentro escribiendo bucles como este.

foreach($results as $result)
    $names[] = $result['name'];

¿Mi pregunta es si existe una manera de obtener esta matriz $ nombres sin usar un bucle? El uso de funciones de devolución de llamada cuenta como un bucle.

Aquí hay un ejemplo más genérico de obtener todos los campos.

foreach($results as $result)
    foreach($result as $key => $value)
        $fields[$key][] = $value;

Respuestas a la pregunta(10)

Su respuesta a la pregunta