《Disney +》 迪士尼、Marvel、彼思、星球大戰…  11月優惠進駐PlayStation Store   《Bloodhunt》將在 2021 年於 PlayStation 5 推出   八位堂推出可以在NS、PC、Android等眾多平台使用的多功能遊戲手把「8BitDo Pro 2」!   趴著睡、仰著睡都好眠的電競枕頭!Bauhutte「可洗長枕 BHB-1000P」新發售!   全球首款!專為躺著使用設計的VR設備「HalfDive」亮相   OLED版Nintendo Switch10月8日發售!可直連LAN線!也有新出白色!   「XANALIA」主理的NOBORDER.z發表元宇宙對應型NFT交換卡遊戲「NFT DUEL」!   LoL×PUBG!?英雄聯盟動畫系列「奧術」與「絕地求生Mobile」的聯乘合作決定! 

PHP 陣列 想 保留某些索引值 剩下全部移除

商業

PHP 的陣列裡面,想要保留某些 Key,將其它的全部移除,要怎麼做呢?

  • 註:想要重組 URL 的 Query string 時,很常使用到此功能。

PHP 陣列 想 保留某些特定值 其他全部移除

一個非常直覺的寫法,把不存在的全部 unset() 掉即可,寫法如下:

 $v) {
        if (!in_array($k, $allow)) unset($array[$k]);
    }

    return $array;
}

// USAGE:
// $arr = ['c' => 3, 'sort' => 'id', 'b' => 2, 'tab' => 'home', 'a' => 1];
// $allowed = ['sort', 'tab']; // 要保留的
// print_r(array_allow_keys($arr, $allowed)); // array([sort] => id, [tab] => home)
// or
// array_allow_keys($GET, $allowed); // 直接把 $GET 要的過濾出來
?>

想要重組 URL 的 Query String,可以使用下述 Function。

 0) {
        parse_str($query_string, $url_get);

        $filtered = array_allow_keys($url_get, $allowed);
    }

    return empty($filtered) ? $query_string : http_build_query($filtered);
}

// USAGE:
// print_r(filter_query_string($_SERVER['QUERYSTRING'], $allowed = ['sort', 'tab']));
// print_r(filter_query_string('sort=id&c=3&b=2&tab=home&a=1', $allowed = ['sort', 'tab'])); // sort=id&tab=home
?>

要將 Array 的 Key 值過濾並保留,下述是使用 array_filter 的寫法:(註:使用上面的即可,下述寫法執行起來的速度比較慢一點)

下述寫法改寫自下述:

Tsung

隨機商業新聞

Micorsoft