【问题标题】:PHP Split query string into array with keys/values [duplicate]PHP将查询字符串拆分为带有键/值的数组[重复]
【发布时间】:2019-12-20 04:08:37
【问题描述】:

我将以下查询字符串传递给 PHP 方法

searchFilterKeyword=ff&searchFilterDateEntered=07%2F29%2F2019&searchFilterStatus=1&searchFilterQuarantineStatus=&searchFilterSize=&searchFilterKennel=&searchFilterType=

我将如何explode this 以便生成以下数组:

[
  'searchFilterKeyword' => 'ff',
  'searchFilterDateEntered' => '07%2F29%2F2019',
  'searchFilterStatus' => 1,
  'searchFilterQuarantineStatus' => '',
  'searchFilterSize' => '',
  'searchFilterKennel' => '',
  'searchFilterType' => ''
];

我还必须重新格式化日期以删除%2F。我必须做所有这些,因为我不能将new FormData() 对象传递给像

这样的 jquery 调用
{
  'action': 'test',
  'type': 'test',
  'data': new FormData()
}

【问题讨论】:

  • 您关于 FormData 的最后陈述似乎与问题的其余部分无关。另请注意,如果这确实是问题所在,那么您只需使用 append() 在 FormData 对象中提供 all 值,例如。 formData.append('action', 'test')
  • 看看parse_str

标签: php jquery


【解决方案1】:

要将查询字符串转换为数组,可以使用parse_str:

$string = 'searchFilterKeyword=ff&searchFilterDateEntered=07%2F29%2F2019&searchFilterStatus=1&searchFilterQuarantineStatus=&searchFilterSize=&searchFilterKennel=&searchFilterType=';
$output = [];
parse_str($string, $output);
print_r($output);

$string 是您的查询字符串,$output 是填充值的空数组

【讨论】:

    【解决方案2】:

    您可以使用 PHP 的 parse_str(string, array) 方法完成它。

    此方法接受两个parameters。第一个是字符串 要解析的,另一个是存储数组 解析字符串。

    $arr = [];
    $queryStr = 'searchFilterKeyword=ff&searchFilterDateEntered=07%2F29%2F2019&searchFilterStatus=1&searchFilterQuarantineStatus=&searchFilterSize=&searchFilterKennel=&searchFilterType=';
    parse_str($queryStr, $arr);
    print_r($arr);
    

    输出:

    Array
    (
        [searchFilterKeyword] => ff
        [searchFilterDateEntered] => 07/29/2019
        [searchFilterStatus] => 1
        [searchFilterQuarantineStatus] => 
        [searchFilterSize] => 
        [searchFilterKennel] => 
        [searchFilterType] => 
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多