w35*_*35t 1 php arrays variables text
我有这个文字
"?富=酒吧和FOOBAR = barfoo"
将此文本转换为变量的最佳方法是什么?像这样:
<?php
echo $q['foo']; //bar
echo $q['foobar']; //barfoo
?>
Run Code Online (Sandbox Code Playgroud)
谢谢.
请参阅http://docs.php.net/parse_str和http://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.但是......这将是一个相当奇怪的设置.