我正在爲我的搜索頁面構建一個過濾器部分,我想知道查詢字符串的最佳做法。我的問題是,這些鏈接功能很像複選框,所以一些,全部或沒有可以打開。我必須遍歷大約30個左右的鏈接,根據其狀態刪除或添加特定鏈接的值。構建查詢字符串鏈接
我首先考慮的是:
我應該通過陣列狀
colors=red,blue,green //explode?
或
colors[]=red&colors[]=blue&colors[]=green //parse_str?
的是換掉某個陣列的一定值作爲最快/最好的方法,我通過每個鏈接循環?我想用我上面發佈的第二種方法會更復雜一點,是的?
EDIT2 - 你覺得這是什麼?
我碰到一個在線教程,並用此來了:
function remove($filters = array(), $remove_key = NULL, $remove_val = NULL) { if($remove_key != NULL && array_key_exists($remove_key,$filters)) { if($remove_val != NULL && array_key_exists($remove_val,array_flip($filters[$remove_key]))) { $filters[$remove_key] = array_diff($filters[$remove_key],array($remove_val)); } else { unset($filters[$remove_key]); } } return http_build_query($filters); }
目前,我可以通過$ remove_key刪除鍵和$ remove_val從取消導航鍵的值在一個數組中。
你們認爲什麼?這對於做30-50個鏈接會太慢嗎?謝謝!
注意,在你的第二個例子中,你不必叫'parse_str'; PHP會爲你提供一個數組''_GET ['colors']'。 – meagar 2010-10-19 13:50:37