crear una matriz asociativa multidimensional desde CSV en PHP

Estoy tratando de crear una matriz multidimensional en PHP donde las matrices internas son asociativas para el siguiente ejemplo CSV string $ csv:

# Results from 2015-06-16 to 2015-06-16.
date,time,label,artist,composer,album,title,duration
2015-06-16,12:00 AM,Island,U2,"Clayton- Adam,The Edge,Bono,Mullen- Larry- Jr",Songs Of Innocence,SONG FOR SOMEONE,03:46
2015-06-16,12:04 AM,Lowden Proud,"Fearing & White, Andy White, Stephen Fearing","White- Andy,Fearing- Stephen",Tea And Confidences,SECRET OF A LONG LASTING LOVE,03:10
2015-06-16,12:07 AM,Columbia,The Wallflowers,"Dylan- Jakob,Irons- Jack,Mathis- Stuart,Richling- Greg,Jaffee- Rami",Glad All Over,REBOOT THE MISSION,03:31
2015-06-16,12:10 AM,Distort Light,Bend Sinister,Moxon- Daniel,"Stories Of Brothers, Tales Of Lovers",JIMMY BROWN,03:48

El número de filas de datos reales que siguen el formato de tercera fila + es variable. Lo que he hecho hasta ahora es una simple matriz multidimensional:

$resultArray = str_getcsv($csv, PHP_EOL);//parse the rows
array_shift($resultArray);//shift out results first row: date info
array_shift($resultArray);//shift out results new first row: field labels
foreach($resultArray as &$row) {//parse the items in rows
    $row = str_getcsv($row, ",", '"');//removes the '"' field enclosure?
}//foreach

Esto hace una matriz multidimensional funcional, pero lo que no puedo entender es cómo hacer que las matrices internas sean asociativas para poder acceder a ellas usando las teclas de texto amigables de la matriz que anticipé usar:

$rowFieldKeysArray = array('date', 'time', 'label', 'artist', 'composer', 'album', 'title', 'duration');

Estoy seguro de que hay una manera simple de PHP de usar la matriz de nombre de clave como las claves para una matriz asociativa, pero no estoy seguro de cómo hacerlo. Sospecho que necesito algo en la línea de:

foreach($resultArray as $rowKey => &$row) {
    $row[$rowFieldKeysArray[$rowKey]] = str_getcsv($row, ",", '"');
}//foreach

Pero esto produce una "Advertencia: desplazamiento de cadena ilegal 'fecha' [...]".

¿Cómo haría esto?

EDITAR: basado en la información combinada proporcionada por el enlace en el comentario de Andrew y en la respuesta que acepté, pude resolver este problema usando el siguiente código eficiente:

    $resultArray = str_getcsv($csv, PHP_EOL);//parse the rows
    array_shift($resultArray);//shift out results first row: date info
    $rowFieldKeysArray = str_getcsv( array_shift($resultArray), "," );//shift out results new first row: field labels into field key name array
    //array('date', 'time', 'label', 'artist', 'composer', 'album', 'title', 'duration');//array of Key field names for associative array
    //       [0]     [1]      [2]      [3]        [4]        [5]      [6]       [7]      //key index
    foreach($resultArray as &$row) {//parse the items in rows
        $row = array_combine($rowFieldKeysArray, str_getcsv($row, ",", '"'));//array_combine replaces numeric indexes with key field labels
    }//foreach

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta