Entonces lo que deseas hacer es reemplazar el valor de una clave en el arreglo.. segun lo que explicas de tu ejemplo.. entonces te serviria si lo hacemos asi:
   Código PHP:
    <?php
function asociar ($list, $key, $value) {
    foreach ($list as $clave => $valor) {
        if ($clave == $key)
            $list[$clave] = $value;
    }
    return $list;
}
 
$list = array("0" => "zero", "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five", "6" => "six");
 
echo "<pre>";
print_r($list);
echo "</pre>";
 
$key = 4;
$value = "nuevo cuatro";
$final = asociar ($list, $key, $value);
 
echo "<pre>";
print_r($final);
echo "</pre>";
?>