将数组或请求数据更改回查询字符串格式

时间:2018-04-19 15:44:58

标签: arrays laravel parameters get request

public function try2(Request $request)
 {
  $search_cons = $request->all();
  //dd($search_cons);
 }

$ search_cons是来自表单提交的数组

我可以将其更改回

$parameter = ?id=5&name=john&News=new&class=0

就像提交表单

一样
http:://xxxx/xxx?id=5&name=john&News=new&class=0

我知道我可以像

那样一步一步地完成
$pid=$search_cons['id'];
$pname=$search_cons['name'];
$pnews=$search_cons['News'];
$pclass=$search_cons['class'];

$parameter = ?id=.'$pid'.&name=.'$pname'.&News=.'$pnews.'&class=.'$pclass

但它有些缓慢,不适合任何形式的改变。

有任何聪明的想法可以从阵列中更改它吗?

我希望得到的参数就像

一样
'comefo_findlists?findtable_name=台北市北投區&findtable=a16s&findNews_geography=&wantclass=0&wanttime=1&fl_main_name=&fl_brand_name=&fl_model_name=&fl_location_name=&fl_geography_name=&find02=&pl_main_name=&pl_brand_name=&pl_model_name=&pl_price_name=&pl_count_name=&pl_unit_name=0&pl_location_name=&pl_geography_name='

但是当我尝试http_build_query(($ request-> all()) 我得到了

'comefo_findlists?findtable_name=%E5%8F%B0%E5%8C%97%E5%B8%82%E5%8C%97%E6%8A%95%E5%8D%80&findtable=a16s&wantclass=0&wanttime=1&pl_unit_name=0'

它错过了值=空的键?可以展示一切,不要因为我需要钥匙而错过它们吗?

dd($ search_cons);是

enter image description here

我使用http_build_query得到了这个 enter image description here 我希望这 enter image description here

1 个答案:

答案 0 :(得分:0)

这是一个本机函数http_build_query,它接受​​一个数组并返回一个查询字符串(key =具有适当编码的值)。 e.g:

http_build_query($request->all());