我知道您可以通过以下方式向数组添加值parse_str()
:
parse_str( 'a[]=1&a[]=2&a[]=3' );
parse_str( 'a[0]=1&a[1]=2&a[2]=3' );
这些都产生:
Array (
[0] => 1
[1] => 2
[2] => 3
)
我正在寻找一个像这样的数组:
parse_str( 'a[]=1,2,3' );
有没有办法做到这一点,这样我就不需要a[i]=
每次都输入?
不要使用parse_str()
,除非您非常确定自己在做什么。(解释如下。)相反,我建议使用 JSON 之类的东西,它不会改变意外变量,相当快、标准化并且更容易生成/使用。
$str = '{"items":[1,2,3]}'
$obj = json_decode($data);
var_export($obj->items);
产量:
array (
0 => 1,
1 => 2,
2 => 3,
)
例如,试试这个:
$input = '_SERVER[DOCUMENT_ROOT]=/foo';
parse_str($input);
echo($_SERVER['DOCUMENT_ROOT']);
哇,有人设法更改了存储服务器配置数据的变量之一。这很容易破坏内容管理代码之类的东西,然后将文件保存到错误的位置,或者绕过“必须是子文件夹”检查。