【问题标题】:PHP - create array from stringPHP - 从字符串创建数组
【发布时间】:2011-06-17 20:01:56
【问题描述】:

我有一个看起来像这样的字符串:

single=Single&multiple=Multiple2&check=check1&radio=radio2

如何创建这样的数组:

array(
  'single' => 'Single',
  'multiple' => 'Multiple2',
  'check' => 'check1',
  'radio' => 'radio2',
)

【问题讨论】:

  • 你收到请求了吗?或不? :)

标签: php regex arrays string


【解决方案1】:

使用parse_str

parse_str('single=Single&multiple=Multiple2&check=check1&radio=radio2', $data);

并且在 $data 中你将拥有你的变量。

【讨论】:

  • 请记住:不使用 $data 会产生安全问题,因为您正在将数据加载到当前范围内,因此使用它至关重要 :)
【解决方案2】:

如果这来自一个 URL,您可以在 $_GET 或 $_POST 变量中将这个已经作为一个数组。 否则使用explode() 将字符串转换为数组。

【讨论】:

  • 它来自一个用jquery生成的隐藏表单域,像这样:api.jquery.com/serialize
  • 如果您使用 ajax()、get() 或 post() 将其发送到 php,您仍然应该将它放在全局变量中。作为一个额外的建议,filter_var 来自 js 的变量,在使用它们之前。
  • 是的,我愿意,但只有隐藏的输入(这就是我所需要的)。所有其他输入都只是为了构建这个字符串:)
  • 没关系,这些 jquery 函数根据您的请求将它们作为 POST 或 GET 参数发送。
猜你喜欢
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-10
  • 1970-01-01
  • 2015-03-08
  • 1970-01-01
相关资源
最近更新 更多