鍍金池/ 問答/PHP/ php 刪除url參數(shù)里面為空的key值

php 刪除url參數(shù)里面為空的key值

圖片描述

圖片描述

為空的時候如何刪除這個key值 不帶?key=

回答
編輯回答
苦妄

parse_url 獲取url的組成部分,unset空的參數(shù),最后http_build_query 生成url參數(shù)

2018年2月10日 19:36
編輯回答
怣痛

如果你是想搜索的時候沒填key值就不帶那一段的話那這是js處理
通過js生成跳轉(zhuǎn)鏈接, 并跳轉(zhuǎn)

2017年12月7日 00:32
編輯回答
臭榴蓮
(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'];
}
2018年7月5日 16:21
編輯回答
凹凸曼
array_filter — 用回調(diào)函數(shù)過濾數(shù)組中的單元
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
如果沒有提供 callback 函數(shù), 將刪除 array 中所有等值為 FALSE 的條目
$param = [
    'key1' => '',
    'key2' => null,
    'key3' => 0,
    'key4' => false,
    'key5' => '66666',
];

$param_new =  array_filter($param);

print_r($param_new);

輸出

Array
(
   [key5] => 66666
)
2017年7月29日 20:09