最好的方法是将带有'&'的文本转换为变量

w35*_*35t 1 php arrays variables text

我有这个文字

"?富=酒吧和FOOBAR = barfoo"

将此文本转换为变量的最佳方法是什么?像这样:

<?php
echo $q['foo']; //bar
echo $q['foobar']; //barfoo
?>
Run Code Online (Sandbox Code Playgroud)

谢谢.

Vol*_*erK 8

请参阅http://docs.php.net/parse_strhttp://docs.php.net/parse_url

$s = "?foo=bar&foobar=barfoo";
parse_str(parse_url($s, PHP_URL_QUERY), $q);
var_dump($q);
Run Code Online (Sandbox Code Playgroud)

版画

array(2) {
  ["foo"]=>
  string(3) "bar"
  ["foobar"]=>
  string(6) "barfoo"
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果你知道字符串总是有表格x = y ...你可能想跳过parse_url()并改用substr().
edit2:请记住,parse_str()的行为取决于arg_separator.input的值.你应该把它(无论出于何种原因)设置为'!' parse_string()将为您的输入字符串返回NULL.例如

ini_set('arg_separator.input', '!');
$s = "foo=bar&foobar=barfoo";
var_dump(parse_str($s));
Run Code Online (Sandbox Code Playgroud)

打印NULL.但是......这将是一个相当奇怪的设置.