Я пытаюсь нацелить ключи и значения в ассоциативном массиве, чтобы удалить двойные кавычки.Я передаю в php-контроллер строку через JSON.stringify следующим образом:
"searchFilterType":"inside","searchFilterField":"okay","searchFilterGeoDistance":"27","searchFilterZip":"2","keyword":"test"
Я назначаю это переменной $string;
Я использую следующее, чтобы разбить ее намассив:
$sExplode = explode(',', $string);
$searchFilters = [];
Что дает мне
[0] => "searchFilterType":"inside"
[1] => "searchFilterField":"okay"
[2] => "searchFilterGeoDistance":"25"
[3] => "searchFilterZip":""
[4] => "keyword":"test"
Затем я разбиваю это на ассоциативный массив, используя это:
foreach ($sExplode as $v) {
$v = explode(":",$v);
$searchFilters[$v[0]] = $v[1];
}
Что дает мне:
["searchFilterType"] => "inside"
["searchFilterField"] => "okay"
["searchFilterGeoDistance"] => "27"
["searchFilterZip"] => "2"
["keyword"] => "test"
Затем я удаляю строки из значений, используя это:
$searchFilters = preg_replace("/[^a-zA-Z 0-9]+/", "", $searchFilters);
Давая мне:
["searchFilterType"] => inside
["searchFilterField"] => okay
["searchFilterGeoDistance"] => 27
["searchFilterZip"] => 2
["keyword"] => test
Но мне все еще нужно удалить строку в ключах массива,Моя главная цель, к которой я стремлюсь, - это конечный результат:
[searchFilterType] => inside
[searchFilterField] => okay
[searchFilterGeoDistance] => 27
[searchFilterZip] => 2
[keyword] => test
Есть ли более простое решение, чем эти несколько шагов?