猿问

php 删除url参数里面为空的key值

https://img1.mukewang.com/5c8f56b40001877208000035.jpg

为空的时候如何删除这个key值 不带?key=

德玛西亚99
浏览 519回答 4
4回答

料青山看我应如是

array_filter — 用回调函数过滤数组中的单元 array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条目 $param = [ 'key1' => '', 'key2' => null, 'key3' => 0, 'key4' => false, 'key5' => '66666', ]; $param_new = array_filter($param); print_r($param_new); 输出 Array ( [key5] => 66666 )

慕哥9229398

(1) function delempkey($s1) { if(strpos($s1,"?") !== false && ($sSubString = substr($s1,strpos($s1,"?") + 1))) { $sHeader = substr($s1,0,strpos($s1,"?") + 1); $aSubString = explode("&",$sSubString); $aTemp = []; foreach($aSubString as $value) { $aV = explode("=",$value); if($aV[1] == '') { continue; } $aTemp[] = $value; } if(!empty($aTemp)) { $s1 = $sHeader . implode("&",$aTemp); } else { $s1 = substr($sHeader,0,-1); } } else $s1 = substr($s1,0,-1); return $s1; } (2) function delempkey1($s1) { $aUrl = parse_url($s1); $bHasQuery = false; if(!empty($aUrl['query'])) { parse_str($aUrl['query'],$aParr); $aParr = array_filter($aParr); if(!empty($aParr)) { $bHasQuery = true; $aUrl['query'] = '?' . http_build_query($aParr); } } if(!$bHasQuery) { $aUrl['query'] = ''; } return $aUrl['scheme'] . "://" . $aUrl['host'] . $aUrl['path'] . $aUrl['query']; }

慕丝7291255

parse_url 获取url的组成部分,unset空的参数,最后http_build_query 生成url参数

手掌心

如果你是想搜索的时候没填key值就不带那一段的话那这是js处理通过js生成跳转链接, 并跳转
随时随地看视频慕课网APP
我要回答