Devi ricrearlo da capo mi sa(probabilmente mi sbaglio, ma credo che quello che ti sto per proporre è un metodo molto più semplice).
Potresti usare un preg_replace, usando un pattern per i parametri degli URL
Oppure, usando appunto explode(), potresti fare nel seguente modo:
Codice PHP:
$cook = "a=1&b=2&c=3";
$arr = array();
foreach(explode('&', $cook) as $value) {
//il valore così ottenuto avrà:
/*
a=1
b=2
c=3
*/
//è sufficente che questi valori li
//"explodi" di nuovo e li metti ancora
//in un array
$temp = explode('=', $value);
//l'array così creato avrà valori:
/*
a=1 diventa -> array( 0 => 'a' , 1 => '1' )
b=2 diventa -> array( 0 => 'b' , 1 => '2' )
c=3 diventa -> array( 0 => 'c' , 1 => '3' )
*/
//quindi assegnamo alla chiave il valore 0
//mentre al valore il valore 1
$arr[$temp[0]] = $temp[1];
}
//alla fine del procedimento ci sarà un array così:
/*
$arr = array(
'a' => '1',
'b' => '2',
'c' => '3'
)
*/
//e in questo array puoi togliere, mettere, modificare
//valori come vuoi.