Parametrelerin bir dizi olduğu bir URL'im var. Bu şuna benzer: Bir parametreyi unset wan't zamanphp unset url parameters dizisi
&fq[]=subjects:Human+beings&fq[]=subjects:Ethnology
Genellikle bu işlev yoluyla gönderebilir:
<a href="<?php echo remove_modify_url(array('fq' => urlencode($facetValue)));?>"><?php echo $facetValue; ?></a>
function remove_modify_url($par, $url = FALSE){
if($url == FALSE){
$scheme = $_SERVER['SERVER_PORT'] == 80 ? 'http' : 'https';
$url = $scheme.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
$url_array = parse_url($url);
if(!empty($url_array['query'])){
parse_str($url_array['query'], $query_array);
foreach ($par as $key => $value) {
unset($query_array[$key]);
}
}
return $url_array['path'].'?'.http_build_query($query_array);
}
Ancak bu FQ nun bir anahtara sahip olan her şeyi getopts. Diğer tüm parametreleri silmeden belirli bir dizi parametresini kaldırmak istiyorum. Bu durumda, bir kullanıcı konuları kaldırmak için bir düğmeye tıklar: İnsan + varlıkları ve url, fq [] = konularına değişir: Etnoloji.
Mükemmel. Unset çizgisini şu şekilde ayarladım: unset ($ params ['fq'] [array_search ($ delete, $ params ["fq")]); ama aksi takdirde beklendiği gibi çalıştı. Teşekkürler! –