Php 遍历字符串laravel并获取值

Php 遍历字符串laravel并获取值,php,json,laravel,Php,Json,Laravel,我有这样的字符串: $filters= {"DestinationZone":"","date":"2019-12-13","PolicyName":"","CloseReason":"","ApplicationName":"","level":"","Host":""} 我想遍历这个字符串,并将其划分为键和值 我尝试了很多,但我不知道为什么它不想工作。 这是我试过的代码 $filters=str_replace('{','', $filters); $filters=str_r

我有这样的字符串:

 $filters= {"DestinationZone":"","date":"2019-12-13","PolicyName":"","CloseReason":"","ApplicationName":"","level":"","Host":""}
我想遍历这个字符串,并将其划分为键和值 我尝试了很多,但我不知道为什么它不想工作。 这是我试过的代码

   $filters=str_replace('{','', $filters);
  $filters=str_replace('}','', $filters);
 $filters=explode(',',$filters);    
  for($i=0;$i<count($filters);$i++){
$xx=explode(':',$filters[$i]);
var_dump($xx);
foreach ($xx as $xx) 
{  $value=trim($xx,'"');
var_dump($value);
 // $key=trim($key,'"');

if (!empty($value)) {

 //$query->where("$key", '=', "$value");
}
 }

  }

我认为这段代码非常混乱,我使用的是laravel,这不是laravel框架,而是基本的PHP

变量 $filters变量出现错误

$filters={DestinationZone:,日期:2019-12-13,策略名称:,关闭原因:,应用程序名称:,级别:,主机:} 您拥有的JSON必须是字符串

$filters='{DestinationZone:,日期:2019-12-13,策略名称:,关闭原因:,应用程序名称:,级别:,主机:}'; 键值 如果要将$filters转换为数组,只需使用:

$filters=json_decode$filters,true; 结果

只需使用json_decode$过滤器,如果为true,您将获得数组。
array:7 [
  "DestinationZone" => ""
  "date" => "2019-12-13"
  "PolicyName" => ""
  "CloseReason" => ""
  "ApplicationName" => ""
  "level" => ""
  "Host" => ""
]