Criando Matriz Associativa em PHP

Eu tenho uma matriz multidimensional.

$shop = array( 
              array("appn1", "pub1" ,"pub2" , "pub3"),
              array("appn2", "pub1"),
              array("appn3", "pub1" ,"pub2")
            ); 

O primeiro item em cada array énúmero da aplicação e o resto em cada array é onúmeros de publicação. Eu obtenho o primeiro item (número do aplicativo) e o último item de cada array (número de publicação mais recente) como este

 $index = count(array_keys($shop));
    for($i=0;$i<$index;$i++){

        $appln_nr = $shop[$i][0];
        echo $appln_nr;

        $publn_nr_index = count(array_keys($shop[$i]))-1;
        $publn_nr = $shop[$i][$publn_nr_index];
        echo $publn_nr;
   }

Agora eu tenho o número do aplicativo e o número de publicação para cada array interno.

Eu quero criar uma matriz associativa a partir dos números de aplicativos e números de publicação.

onde a chave deve ser o número do aplicativo e seu valor é o número da publicação.

obrigado

EDITAR

O que estou recebendo do array $ shop

 Array
 (
  [0] => Array
    (
        [0] => appn1
        [1] => pub1
        [2] => pub2
        [3] => pub3
    )

  [1] => Array
    (
        [0] => appn2
        [1] => pub1
    )

  [2] => Array
    (
        [0] => appn3
        [1] => pub1
        [2] => pub2
    )
)

E isso é o que eu preciso no meu array associativo

Array(
    "appn1" => "pub3"
    "appn2" => "pub1"
    "appn3" => "pub2"
)