一种更好的方法,也是 CI 开发人员想要的方法,是将所有搜索参数添加到 URI,而不是像这样的查询字符串:
http://site.com/products/search/term/computer/sort/price/cat/laptop
uri_to_assoc($segment)
然后,您将使用 URI 类中的函数将第 3 段(“术语”)中的所有 URI 段解析为键 => 值对数组。
Class Products extends Controller {
...
// From your code I assume you are calling a search method.
function search()
{
// Get search parameters from URI.
// URI Class is initialized by the system automatically.
$data->search_params = $this->uri->uri_to_assoc(3);
...
}
...
}
这将使您可以轻松访问所有搜索参数,并且它们可以在 URI 中按任何顺序排列,就像传统的查询字符串一样。
$data->search_params
现在将包含一个 URI 段数组:
Array
(
[term] => computer
[sort] => price
[cat] => laptop
)
在此处阅读有关 URI 类的更多信息:http: //codeigniter.com/user_guide/libraries/uri.html